I am a programmer in South America who provides maintinace to a Delphi client application (an ordering system) which was written by another group of programmers.

It just so happens that the previous team, who first develped the system, did a really nasty job and the system turned out extremely buggy and we are having a very hard time keeping up with all the bugs that are showing up right now. Since it was written to use DBase tables (*.dbf files) it has no referential integrity by default and the logic used in the code does not ensure this integrity either.

I would like to appeal to experts out there with a bit more experience in the field to ask for some advice.

We have concluded that most of the bugs experienced by our clients come from this native lack of database integrity and the poor job done by the previous programmers. Since a great deal "reprogramming" would have to be done to fix everything, we are thinking about migrating to another database platform, be it MSAccess, Paradox, whatever... If that is the case, which DB platform would be most recomended? Is it a good idea to keep using BDE? Should I try ADO?

Some more specific details about the system
Database platform: DBase (*.dbf) through BDE
Maximum DB size until now: 30MB
Aproximately 30 tables (most related through foreign keys)
DB access is completely bound to user interface (yuk!)

Thanks in advance.
If anyone needs any more details, please ask

Thank you.