What version of the .NET Framework are you using? This undocumented functionality was only introduced in an update for Framework 2.0, so it might be that you have not got all the updates?
Here is a link to the MS support site regarding the update
http://support.microsoft.com/kb/934529
Update: I tested this with VS2010 Framework 4.0. While the IDE does show the followin warning due to the schema not including this attribute.
Warning 13 The 'tempFilesLocation' attribute is not allowed.
I ran and compiled the code and it worked fine. Here is the config file I used.
<?xml version="1.0"?>
<configuration>
<system.diagnostics>
<switches>
<add name="XmlSerialization.Compilation" value="1" />
</switches>
</system.diagnostics>
<system.xml.serialization>
<xmlSerializer tempFilesLocation="c:\foo"/>
</system.xml.serialization>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>