An old version of an object can reference other objects that no longer exist, because they have been deleted (and possibly even purged) after the old version was created.
Now when the system retrieves old version (using 'do.ashx?cmd=versions' or 'cmd4 audit') it automatically filters references to objects that no longer exist, so that the resulting version contains only valid references. The reference that have been filtered are listed in a separate element in the version info.
Here is the XML of an old version of a story referencing an image with id 2731:
<ActionDesc
xsi:type="UpdateActionDesc"
Time="2010-07-06T22:47:53.823Z" UserId="1705" LoginGuid="2fb7fe84-4da7-4da6-853e-736be1607f7c"
Action="Update"
UserDesc="TeraDP\MiMo"
ObjectId="2848" ObjectTypeName="story" ObjectDesc="Story with images"
Codes="Normal Protected Content">
<Obj>
<story
id="obj2848" name="613084e8-33b2-4fa1-a92b-26567c269496"
creationDate="2010-07-06T22:42:13.673Z" modifiedDate="2010-07-06T22:43:21.457Z" size="24"
rightsStatus="None" nWords="4" nChars="18"
xmlns="urn:schemas-teradp-com:gn4tera">
<folderRef idref="obj2672" />
<creatorRef idref="obj1705" />
<modifierRef idref="obj1705" />
<title>Story with images</title>
<summary />
<sourceId />
<sourceFileName />
<libelTags />
<authors>TeraDP\MiMo</authors>
<instructions />
<credit />
<orgSource />
<location />
<city />
<state />
<country />
<position />
<objs>
<ref idref="obj1861">
<title />
<caption />
</ref>
<ref idref="obj2731">
<title />
<caption/>
</ref>
</objs>
<xmlText>
<p xmlns="">Here is some text</p>
</xmlText>
<xmlFormatRef idref="obj1796" />
<followId />
</story>
</Obj>
<ObjAccess perms="01111000000000000000000000" />
</ActionDesc>
if the image is deleted, the version retrieved by the system becomes:
<ActionDesc
xsi:type="UpdateActionDesc"
Time="2010-07-06T22:47:53.823Z" UserId="1705" LoginGuid="2fb7fe84-4da7-4da6-853e-736be1607f7c"
Action="Update"
UserDesc="TeraDP\MiMo"
ObjectId="2848" ObjectTypeName="story" ObjectDesc="Story with images"
Codes="Normal Protected Content">
<Obj>
<story
id="obj2848" name="613084e8-33b2-4fa1-a92b-26567c269496"
creationDate="2010-07-06T22:42:13.673Z" modifiedDate="2010-07-06T22:43:21.457Z" size="24"
rightsStatus="None" nWords="4" nChars="18"
xmlns="urn:schemas-teradp-com:gn4tera">
<folderRef idref="obj2672" />
<creatorRef idref="obj1705" />
<modifierRef idref="obj1705" />
<title>Story with images</title>
<summary />
<sourceId />
<sourceFileName />
<libelTags />
<authors>TeraDP\MiMo</authors>
<instructions />
<credit />
<orgSource />
<location />
<city />
<state />
<country />
<position />
<objs>
<ref idref="obj1861">
<title />
<caption />
</ref>
</objs>
<xmlText>
<p xmlns="">Here is some text</p>
</xmlText>
<xmlFormatRef idref="obj1796" />
<followId />
</story>
</Obj>
<ObjAccess perms="01111000000000000000000000" />
<ObjInvalidRefs>
<attr n="story.objs" ids="2731" />
</ObjInvalidRefs>
</ActionDesc>
note that the reference is no longer in the object's XML and it is now listed in the new separate element 'ObjInvalidRefs'.
If the object that no longer exists is a sub-object (child) of the old version, its XML will still be visible in the old version but without the id, e.g. the old version of an article containing a photo caption with id 2477 is:
<ActionDesc
xsi:type="UpdateActionDesc"
Time="2010-07-07T00:37:01.34Z" UserId="1705" LoginGuid="32a233b2-0999-4c59-83d1-820c80cb1f3f"
Action="Update"
UserDesc="TeraDP\MiMo"
ObjectId="1806" ObjectTypeName="article" ObjectDesc="article1"
Codes="Content">
<Obj>
<article . . . xmlns="urn:schemas-teradp-com:gn4tera">
. . .
<txts>
<head id="obj1808" name="article1,hd" . . .>
. . .
</head>
<body id="obj1809" name="article1" . . .>
. . .
</body>
<photoCaption id="obj2477" name="article1,ph01" . . .>
. . .
</photoCaption>
</txts>
. . .
</article>
</Obj>
<ObjAccess perms="01111000000000000000000000" />
</ActionDesc>
after deleting that photo caption it becomes:
<ActionDesc
xsi:type="UpdateActionDesc"
Time="2010-07-07T00:37:01.34Z" UserId="1705" LoginGuid="32a233b2-0999-4c59-83d1-820c80cb1f3f"
Action="Update"
UserDesc="TeraDP\MiMo"
ObjectId="1806" ObjectTypeName="article" ObjectDesc="article1"
Codes="Content">
<Obj>
<article . . . xmlns="urn:schemas-teradp-com:gn4tera">
. . .
<txts>
<head id="obj1808" name="article1,hd" . . .>
. . .
</head>
<body id="obj1809" name="article1" . . .>
. . .
</body>
<photoCaption name="article1,ph01" . . .>
. . .
</photoCaption>
</txts>
. . .
</article>
</Obj>
<ObjAccess perms="01111000000000000000000000" />
<ObjInvalidRefs>
<attr n="article.txts" ids="2477" />
</ObjInvalidRefs>
</ActionDesc>
i.e. the photo caption is still there, but without an id and listed in the invalid references.