Qdabra's DBXL can handle your scenario. It would also mean you wouldn't have to redesign your form. I do not know of a way in InfoPath to take a form that has been based off an XSD and change it to using a database as its main data connection -- I think in order to do that, you would need to start over on your form.
May I make a suggestion? Perhaps you should try creating a new, extremely simple form based off your database, just one where you drop a couple of controls onto a single view. Then you could get a feel for the functionality that would provide you without dumping a lot of time into it.... When you open InfoPath and select Design a Form Template, you can select Database from the Based On window, and create a connection to your database. Maybe use a table that has some of the non-required fields that your Studio-generated XSD had some problems with... then you can try out some of your scenarios, such as being offline. I tend to find that creating a very small, simple form to test a piece of functionality lets me focus exclusively on the thing I need to figure out...
As far as the database changes, again DBXL can be a great way to go, since you'll be able map or remap your data, but if new db columns will require new fields on your form, you'll still need to modify your form on a regular basis to add new controls. If the form is based off the database, I think you simply need to modify the data connection and select the new columns when your db changes to add those to the data connection inside your form -- this, too, would be a great thing for you to try on the small test form I suggested above -- after you have a test form based off your db, add a column to the table your form is connected to and modify your data connection so that you can see the new field in your schema...
Oh, and for more information about offline capabilities in InfoPath, please see this link at the MS Office site: http://office.microsoft.com/en-us/infopath/HA102117391033.aspx