1) I actually don't know all license models but think MySQL is not free for all commercial usages and MS Sql Express or Compact is. I'd say you find administrative tools for all DBs more or less comfortable.
2) Yes, ODBC is more performant in my experience, too. ADO is an option you need to connect to things being no traditional database, the ADO model allows for more than databases, tables, views, fields, stored procs, that's it's advantage, disadvantage is it's less performant for database access, as it's overhead (in foxpro) is creating a ADO.Recordset for queries, especially for CAs based on ADO this is done additional to creating a vfp cursor. That's which simply costs time.
3) CA is good for simple data access, that is querying tables quite like updatable remote views with some more possibilities than views allow. SPT is good for complex queries or exec of stored procs, etc, while you can also put such calls and whole SQL Scripts into a CA's SelectCmd property, CA's primary usage is to create a single cursor, SPT can be used quite liek a procedural code, having no result (eg alter table, create dataabase/table), and also having multiple results.
Use a mixture of both. Use CA with an ODBC driver/connection, then you can share that connection handle with SPT. Not that this is the main advantage, but it's one more point against ADO, you only go through one ODBC driver.
Bye, Olaf.