Hi Dan,
Well, most people use either a) a Web Service tied to SQL, or b) a SharePoint list tied to SQL via BCS. This is the first I have heard of the VBA approach. Why not just map your InfoPath form to the SharePoint list and use BCS to write it to SQL? The problem with Excel is that it's client side (the VBA won't run on the server so someone has to open the Excel spreadsheet and run it). In addition, you need SQL Client permissions, so it's not a best practice from a security angle.
Of course, you could also just download our free trial Web service (DBXL) - in terms of time, that's your lowest cost option, and the licenses start at a very low price point, i.e. it's inexpensive. Key thing is it will save you countless hours since it will work on all XML forms without special customization.