I've tried a couple of different photo management softwares, Cradoc makes a decent one, and Photofetcher. I always come back to Microsoft Access, and will stay with it now. There's a bit of a learning curve, but once you get a good system worked out it's a great program. It's compatible, and linkable, with other MS apps, it's searchable and you can set those parameters, and versatile. You can make custom DBs limited only by your imagination, and don't have to have a Masters in Computer Programming. I had a numbering system I'd used for some time, and was able to change it in the Access DB without to much pain and heartache.
Main thing is to get a good numbering system to start with, and stick with it. Leave plenty of room for unanticipated categories!