Just ran this for a few seconds. The time it was run was between 20:43:28 and 20:43:47 EDST, and it was saved, as below, at 20:44:49. Note that the time in the records turns out to be correct in Zulu time and the only error is the -05:00, which should be Z instead, as they are showing 00:43:28-05:00 when it is 00:43:28Z. Route Converter IS showing the right time in Zulu time in the list. I used version 1.29.2 and it showed <time>2009-09-08T00:43:28.000Z</time> in the output, which is correct! So go back to the way it was in Route Converter. It handled the time correctly and effectively ignored the -05:00. Microsoft still has it wrong, but your code gets it right. REMOVE the search for Microsoft Streets and Trips.
Bob
You can test with the following GPX file... which I named as 2009-09-07-2043EDST.gpx and which is really short.
<?xml version="1.0" encoding="UTF-8"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="Microsoft Streets & Trips" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1
http://www.topografix.com/GPX/1/1/gpx.xsd"><metadata><name>2009-09-07-2043EDST.gpx</name><desc>Data exported from Microsoft Streets & Trips</desc><copyright author="Microsoft Streets & Trips"><license>http://www.microsoft.com/streets</license></copyright><time>2009-09-07T20:44:49</time><keywords>2009-09-07-2043EDST.gpx, Microsoft Streets & Trips</keywords></metadata><trk><trkseg><trkpt lat="43.763504786035" lon="-79.4115973663143"><time>2009-09-08T00:43:28-05:00</time><ele>189.2000</ele></trkpt><trkpt lat="43.7634842954675" lon="-79.411624687071"><time>2009-09-08T00:43:29-05:00</time><ele>189.4000</ele></trkpt><trkpt lat="43.7634603898054" lon="-79.4116520078276"><time>2009-09-08T00:43:30-05:00</time><ele>189.8000</ele></trkpt><trkpt lat="43.7634194086704" lon="-79.4117134795302"><time>2009-09-08T00:43:31-05:00</time><ele>190.7000</ele></trkpt><trkpt lat="43.7633681822516" lon="-79.4117817814219"><time>2009-09-08T00:43:32-05:00</time><ele>191.6000</ele><sat>3</sat></trkpt><trkpt lat="43.7633101256436" lon="-79.4118500833136"><time>2009-09-08T00:43:33-05:00</time><ele>192.4000</ele><sat>3</sat></trkpt><trkpt lat="43.7632486539411" lon="-79.4119252153944"><time>2009-09-08T00:43:34-05:00</time><ele>193.4000</ele><sat>3</sat></trkpt><trkpt lat="43.7631769369548" lon="-79.4120140078537"><time>2009-09-08T00:43:35-05:00</time><ele>194.6000</ele><sat>3</sat></trkpt><trkpt lat="43.7631086350631" lon="-79.4121028003129"><time>2009-09-08T00:43:36-05:00</time><ele>195.8000</ele><sat>3</sat></trkpt><trkpt lat="43.7627295595642" lon="-79.4124852909064"><time>2009-09-08T00:43:37-05:00</time><ele>196.9000</ele><sat>3</sat></trkpt><trkpt lat="43.76268174824" lon="-79.4125467626089"><time>2009-09-08T00:43:38-05:00</time><ele>198.2000</ele><sat>3</sat></trkpt><trkpt lat="43.7625588048349" lon="-79.4126901965815"><time>2009-09-08T00:43:39-05:00</time><ele>199.5000</ele><sat>3</sat></trkpt><trkpt lat="43.7624256161461" lon="-79.4128268003649"><time>2009-09-08T00:43:40-05:00</time><ele>200.8000</ele><sat>3</sat></trkpt><trkpt lat="43.7623914652003" lon="-79.4128746116891"><time>2009-09-08T00:43:41-05:00</time><ele>202.1000</ele><sat>3</sat></trkpt><trkpt lat="43.7623743897274" lon="-79.4129087626349"><time>2009-09-08T00:43:42-05:00</time><ele>203.3000</ele><sat>4</sat></trkpt><trkpt lat="43.7623914652003" lon="-79.4129019324457"><time>2009-09-08T00:43:43-05:00</time><ele>204.5000</ele><sat>4</sat></trkpt><trkpt lat="43.7624153708624" lon="-79.4128882720674"><time>2009-09-08T00:43:44-05:00</time><ele>205.6000</ele><sat>4</sat></trkpt><trkpt lat="43.7624358614299" lon="-79.4128746116891"><time>2009-09-08T00:43:45-05:00</time><ele>206.6000</ele><sat>4</sat></trkpt><trkpt lat="43.762459767092" lon="-79.4128609513107"><time>2009-09-08T00:43:46-05:00</time><ele>207.6000</ele><sat>4</sat></trkpt><trkpt lat="43.7624631821866" lon="-79.4128609513107"><time>2009-09-08T00:43:47-05:00</time><ele>208.3000</ele><sat>4</sat></trkpt></trkseg></trk></gpx>
Route Converter produced the following from the above file. So you can see the time is right! Not certain why you have the .000Z instead of just the Z but that is your call.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:rcxx="http://www.routeconverter.de/xmlschemas/RouteCatalogExtensions/1.0" xmlns:nmea="http://trekbuddy.net/2009/01/gpx/nmea" version="1.1" creator="Generated by Christian Pesch's RouteConverter. See
http://www.routeconverter.de">
<metadata>
<name>2009-09-07-2043EDST.gpx</name>
<desc>Data exported from Microsoft Streets & Trips</desc>
<copyright author="Microsoft Streets & Trips">
<license>http://www.microsoft.com/streets</license>
</copyright>
<time>2009-09-07T20:44:49</time>
<keywords>2009-09-07-2043EDST.gpx, Microsoft Streets & Trips</keywords>
</metadata>
<trk>
<name>Position 1 to Position 20</name>
<trkseg>
<trkpt lon="-79.4115973663143" lat="43.763504786035">
<ele>189.2</ele>
<time>2009-09-08T00:43:28.000Z</time>
<name>Position 1</name>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.411624687071" lat="43.7634842954675">
<ele>189.4</ele>
<time>2009-09-08T00:43:29.000Z</time>
<name>Position 2</name>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4116520078276" lat="43.7634603898054">
<ele>189.8</ele>
<time>2009-09-08T00:43:30.000Z</time>
<name>Position 3</name>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4117134795302" lat="43.7634194086704">
<ele>190.7</ele>
<time>2009-09-08T00:43:31.000Z</time>
<name>Position 4</name>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4117817814219" lat="43.7633681822516">
<ele>191.6</ele>
<time>2009-09-08T00:43:32.000Z</time>
<name>Position 5</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4118500833136" lat="43.7633101256436">
<ele>192.4</ele>
<time>2009-09-08T00:43:33.000Z</time>
<name>Position 6</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4119252153944" lat="43.7632486539411">
<ele>193.4</ele>
<time>2009-09-08T00:43:34.000Z</time>
<name>Position 7</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4120140078537" lat="43.7631769369548">
<ele>194.6</ele>
<time>2009-09-08T00:43:35.000Z</time>
<name>Position 8</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4121028003129" lat="43.7631086350631">
<ele>195.8</ele>
<time>2009-09-08T00:43:36.000Z</time>
<name>Position 9</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4124852909064" lat="43.7627295595642">
<ele>196.9</ele>
<time>2009-09-08T00:43:37.000Z</time>
<name>Position 10</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4125467626089" lat="43.76268174824">
<ele>198.2</ele>
<time>2009-09-08T00:43:38.000Z</time>
<name>Position 11</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4126901965815" lat="43.7625588048349">
<ele>199.5</ele>
<time>2009-09-08T00:43:39.000Z</time>
<name>Position 12</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4128268003649" lat="43.7624256161461">
<ele>200.8</ele>
<time>2009-09-08T00:43:40.000Z</time>
<name>Position 13</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4128746116891" lat="43.7623914652003">
<ele>202.1</ele>
<time>2009-09-08T00:43:41.000Z</time>
<name>Position 14</name>
<sat>3</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4129087626349" lat="43.7623743897274">
<ele>203.3</ele>
<time>2009-09-08T00:43:42.000Z</time>
<name>Position 15</name>
<sat>4</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4129019324457" lat="43.7623914652003">
<ele>204.5</ele>
<time>2009-09-08T00:43:43.000Z</time>
<name>Position 16</name>
<sat>4</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4128882720674" lat="43.7624153708624">
<ele>205.6</ele>
<time>2009-09-08T00:43:44.000Z</time>
<name>Position 17</name>
<sat>4</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4128746116891" lat="43.7624358614299">
<ele>206.6</ele>
<time>2009-09-08T00:43:45.000Z</time>
<name>Position 18</name>
<sat>4</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4128609513107" lat="43.762459767092">
<ele>207.6</ele>
<time>2009-09-08T00:43:46.000Z</time>
<name>Position 19</name>
<sat>4</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
<trkpt lon="-79.4128609513107" lat="43.7624631821866">
<ele>208.3</ele>
<time>2009-09-08T00:43:47.000Z</time>
<name>Position 20</name>
<sat>4</sat>
<extensions>
<nmea:speed>0.0</nmea:speed>
</extensions>
</trkpt>
</trkseg>
</trk>
</gpx>