Hi John,
The big issue is in mapping to the database and keeping data type fidelity. The Database Accelerator solves both problems by allowing the mapping to be done in data and it roundtrips a blob to preserve full data type. In essence, it is exporting the data to SQL tables using the defined mapping but allowing the client to load and save data. SQL is faster than SharePoint and has other downstream functionality (like Reporting, Data Transformation, Notifications, etc.) that can be easily leveraged. In addition the Database Accelerator supports an arbitrary number of form templates and mapping to an arbitrary depth, so it gives you the ability to quickly use SQL to store your forms without having to write any code on the client. If you have an existing database today and need to map to it, you could define the XML schema from the relational one, but that results in many limitations. You're better off - like you said - defining an XSD on the client, and using an abstraction layer - like the one provided by the Database Accelerator - to do your work.
Patrick Halstead [InfoPath MVP]
InfoPathDev
Patrick Halstead
Project Manager at Qdabra