Hi,
Even if SQL Server DB is native to InfoPath, you could look into using Web Services to have more control over complex scenarios. In any case, you can still create a "Blank" form and manage your secondary data connections through the Tools \ Data Connections Menu.
To tackle your workflow issues, one solution if to have one node in your schema to store the "Status" of your form. On the other hand, if you take over the Submit behavior of your form by code (OnSubmitRequest), you can then decide if the form is pushed to "Review" or if it is submitted back to the DB.
Hope that it helps.
Regards,
Franck Dauché