Would my environment require a paid SQL Server license?

I’ve written a plugin for a game that connects to a PHP page and sends it information from the game. The PHP page takes this information, connects to a SQL Server 2005 instance, then inserts the information given into a variety of tables.

I am using Apache (WampServer) to host the PHP page and SQL Server 2005 Express for hosting the database server. This setup is ‘okay’ as far as development goes, but I wish to release this plugin to other players. Their version of the plugin would be identical to mine in that it would connect to a remote PHP page to either add data to the database or query information from the database.

Since ‘clients’ are not directly hitting the database, would SQL Server 2005 require a paid license of some type for me to ‘legally’ use it in this way? What is the standard definition of ‘production server?’

Note: I am not making any money from this plugin or PHP page however the game the plugin is written for does require a paid subscription. I am not the developer or in any way affiliated with the game however (other than a paid subscription myself).

Which .NET data structure should I use?

Here is the structure of the data my object will need to expose (the data is NOT really stored in XML, it was just the easiest way to illustrate the layout):

<Department id="Accounting">
  <Employee id="1234">Joe Jones</Employee>
  <Employee id="5678">Steve Smith</Employee>
</Department>
<Department id="Marketing">
  <Employee id="3223">Kate Connors</Employee>
  <Employee id="3218">Noble Washington</Employee>
  <Employee id="3233">James Thomas</Employee>
</Department>

When I de-serialize the data, how should I expose it in terms of properties on my object? If it were just Department and EmployeeID, I think I’d use a dictionary. But I also need to associate the EmployeeName, too.