Korngeek, here are my counter arguments.
First of all, it's very rare to find a meaningful column that is unique and unlikely to change. For people (e.g. customers) the most likely candidate is the SIN. Unique all right, but what if the customer refuses to give it (which they have every right to do). Now your data entry person is stuck - they will most likely try something like 999999999 - which will only work once.
Same trouble with serial numbers for parts - works fine - until you get to the scenario where that meaningful information is not known (example: it's become illegible).
In the example of the original poster, he was getting his IDs from another program. This is especially a case were I would not rely on the "uniqueness" of the column - I am at the mercy of an external program that I have no control over. Maybe in the future the business rules for that program will change, so that it is OK to have duplicate IDs.
Also, if it's meaningful, it's something the user will see. Users have this nasty habit of wanting to be able to change what they can see. It's usually not a good idea to let users arbitrarily change primary keys. Better to keep the primary keys hidden from the users, which can only be done if the values are meaningless to them.
In short, using keys that have no "real world" meaning is the best way to guarantee their uniqueness and stability. You are not at the mercy of external forces, including (and maybe most importantly) the whims of your users. Let them be blissfully ignorant of what binds their database together.
The amount of space used for the primary key is completely negligible - it's not really an argument.
As for debugging, I can't think of a case where it would have been easier for me to debug when an ID was something discriptive (e.g. CarMakeID="Honda" vs. CarMakeID=5). In a normalized relational database, if I would need to see the car was a Honda, I would just include the CarMake column along with the CarMakeID (please don't tell me I'm wasting space - that argument doesn't make sense in this day and age - are we still using two-digit years?).
I've heard of the autonumber problem, but in almost 10 years of working with Access databases that is the one problem I have never come across. If I recall it is related to some sort of compact & repair issue. Perhaps for the "expert" user MichaelRed's function (or the similar one in Getz's Handbook) should always be used - but for the amateur (who we often cater to in these forums), telling them to use the autonumber feature is about as in-depth as you want to get with them. Telling them to use anything less automatic will get them in trouble (because the scenarios I have described above will not be so apparent to the layman).