Being involved with a similar upgrade process, I can understand some of the issues you're dealing with. Although Visual dBase is a definite improvement to dBase IV, I feel it simply will never have a huge global presence and therefore future programming enhancements may be limited. It's greatest advantage is to keep older dBase code going with minimum of change.
Since I (and the real decision makers I work for) are also familiar with Visual FoxPro which is more "mainstream", we are doing as much as posssible of the new programming in VFP. The language and concepts are quite similar to dBase, cousins so to speak, so the learning curve is not too bad.
There are limitation to running the 2 environment concurrently during the rewrite: VFP wants to create its own indexes, so neither language updates the other's indexes. Also, VFP creates tables that cannot be read by dBase, but it can copy them to the "older" format.
VFP can work with it's own tables, though they are not as secure and insulated as separate data repositories such as the pricey SQL Server, etc. (A major reason SQL Server is more robust is that servers in a locked room don't get turned off or unplugged or rebooted just any old time, like a worker can do to a workstation.) Yes, VFP tables cannot be larger than 2GBs but most files never reach that size anyway. VFP can also be a front end to SQL Server and other databases. As you can tell I like VFP. It and its keywords are oriented toward tables and databases. VB is popular too but is more of a generic program.
Is it that you'd rather not design 2 front-ends, such as both VFP program AND browser access? That's a design and needs issue. Both or either can be done.
If you use the browser as a front-end, it can communicate (such as from HTML accessing ASP code on the web server) with a VFP object for database access and programming logic processing as long as the code called does not ever try to write to a screen. (There is no screen available when a web page calls ASP which calls VFP COM-compliant object and so even a minor error cannot display.)
Additional reading:
thread184-686677
thread184-558851
thread184-499163
thread184-287740
thread184-148598
thread184-57123
dbMark