What they should do is choose a serial key that makes sense, something that a human can relate to or at least look up in the book.
Like if it's a department store. Sporting goods will be a string like sprt012345-1, then if the item gets replaced by a updated product then you could have the number be srpt012345-2 and so on and so forth. Then a salesment would just do a query for sprt012345 and then results woudl come back and they could easily tell a customer "well we discontinued that item, but we have several things that can replace your broken/lost/warenteed item" 
Stuff like that. The number should at least reflect some sort of information, so sort of coded thing.
That way when you add a item to the database, you chose "sports dept", "ball", etc etc. Then a alpha-numeric number will be generated on that. Then tacked onto the end would be a random number however large is needed to make sure everything stays unique.
Ever looked up Vin numbers for cars? Thats basicly what they do. So instead of keeping a database of every f-ing car in existance, a record is made for each car, but most places  (like insurance places) just decode the vin to find out what year/model/color/engine type etc etc. That way you don't have to mirror the entire dealership database for every computer that needs to deal with VIN numbers.
Sounds like whoever designed the system for the store was a lazy bastard and knew the people he worked for either wern't smart enough or cared enough to spot it.
Either that it was designed by commitee who were to ignorant to let the poor guy get is work done and gave him innane instuctions "like make the numbers for the items look high so it looks like we have lots of stuff".
Also keep in mind that item numbers, serial numbers and stuff like that are not the same as primary keys for records in a database, Although they can be.