As a full-time computer professional, I understand exactly the process you described so well. I work for a company which develops blood-banking software, and mistakes in our code can actually kill people. Needless to say, quality is a major focus in our work.
The only way to avoid the problems you've described (as you well know) is thorough testing before you 'go live' with the software. Of course our environment is different, but we write detailed requirements for each piece of software, then test each of those requirements (and verify we hit all of 'em). In addition, we go thru the code and test each line in a different phase of testing.
I hope your new system is finally working well. I must admit I'm not a fan of Visual Basic or MS Access (we tend to use Java and Oracle), but as long as the system is designed well and thoroughly tested, it should work great.
Best wishes, and thanks again for the post!