<AllUsersWebPart WebPartZoneID="TopColumnZone" WebPartOrder="1"><![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="Microsoft.SharePoint.Publishing.WebControls.TableOfContentsWebPart,Microsoft.SharePoint.Publishing,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" />
<importErrorMessage>$Resources:cmscore,WebPartImportError;</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title" type="string">$Resources:cmscore,PublishingLayouts_TOCWebPart_Title;</property>
<property name="Description" type="string">$Resources:cmscore,PublishingLayouts_TOCWebPart_Description;</property>
<property name="ShowPages" type="bool">True</property>
<property name="IncludeContentFromStartingLocation" type="bool">False</property>
<property name="ChromeType" type="chrometype">None</property>
<property name="ChromeState" type="chromestate">Normal</property>
<property name="HelpUrl" type="string">/_layouts/help.aspx</property>
</properties>
</data>
</webPart>
</webParts>]]>
</AllUsersWebPart>
If you look at the above snippet all the Property are defined in the Properties tag, have you tried to add a ID to it , My guess is it should work.
<property name="ID" type="string">WebPart1</property>