I've broken that rule many times, but I know the limitations. You wouldn't want to use autonumber if missing numbers would be a problem. Under certain circumstances, an autonumber field will skip a number (typically when a user starts to create a record and abandons it; the autonumber is burned). So, if you used it as an invoice number, you might have auditors come in and say "what happened to invoice 123?", when in fact there never really was one.