<<
Good point. I guess it's appealing to the newer crew looking at .NET. 
>>

I began .NET by writing a bunch of learning apps in the Console.

The first Web Service was almost exactly what you've done. I wrote an Add Web Service and consumed it from Windows Forms, Web Forms, Mobile Web Forms and even on Mobile Windows Forms (on a PocketPC with .NET Compact Framework).
<<
Excuse the ignornace, but how can you implement XML in an app such as yours? I've been trying to grasp XML and its theory, but I'm having a tough time. 
>>
A properly designed .NET app is separated into 6 layers - UI, Business Facade, Business, Data, Data Store, and Entities. Under this design, each layer does ONLY what it is supposed to do. So the Data layer, for example, ONLY runs ADO.NET and SQL queries. Between these layers, Entity objects are passed, and XML works really well for keeping track of object state between them.
In my case, I only separated the app into 2 layers for the sake of just getting it done. And 6 layers is an overkill for simple apps like this. I could have avoided using XML, but my app ran more stable probably because I'm already quite used to coding XML.

When I extracted tableNames, fieldsNames, and previewData, I used DataSet to temporarily store them and converted them into XML.
Also, when you click on the "Spam 'em all" button, an XML string is passed to the business object with a list of email addresses. I could've used an array, but XML could be easier to work with later when I expand this app to pass around FirstName and LastName (and whatever else) along with email addresses.
So hopefully that made some sense.

I am still learning so don't take my words fully.
