My goal with this question was to create an iPhone application that could connect directly to an instance of SQL Server and execute SQL commands against that instance.
I don't believe for one second that this is impossible, but if it is possible, the solution requires more knowledge of C than I currently poses. This experience has shown me how much I take the .NET Framework for granted, and just how powerful and extensive the .NET Framework actually is. That such a connection would be so trivial in one framework, and so convoluted in another.
Being primarily a Web Developer, Web Services are well within my comfort zone. Initially I was not willing to consider them, as my secondary goal was that any solution I came up with should not require bespoke software on the server.
ALas, Web Services seem to be the most practical route for me at this point. So, my solution has been to create a Web Service that accepts SQL, and to put that Web Service in a VPN.
Rich