Here is the culprit, located in vEuclidQuestScript:
if (nPointerTargets > 0 && rPointer.GetDistance Player > EuclidRange) rPointer.Disable; rPointer.MarkForDelete; set bInitialized to 0; set bEnablePointer to 0; set bPointerInitialized to 0; set nExit to 1; StopQuest VEuclidQuest;endif
The intentions are good: if the gun has spawned at least one pointer (it spawns one every frame to keep track of where you're aiming), and that pointer is out of range, stop targeting and exit the quest. The problem is that this is a script, not a compiled program. If this were C/C++ for instance, this if would test the first condition and then exit if it was false, without testing the second one. The script however, tests all of the conditions until there are none left regardless of what the first one returns. Since it takes a little while for a pointer to load, it may not always be ready when this check occurs, which results in the script trying to get the distance of a non-existing object.
This request is viewed as such a capital crime by the script parser that it doesn't just cause the if-check to fail, in fact it bluntly exits the script without parsing a single extra line and will never run that script again for this game session, which means none of the variables in the block are set, the quest never gets stopped and the gun will keep spawning pointers indefinitely. The reason why exiting and re-entering the game works is that the game then tries anew at running the script, sees that the pointer is now there (because we spawned it in the last game) and then proceeds to run the script as normal.
The fix is so simple it's almost embarassing:
if (nPointerTargets > 0) if (rPointer.GetDistance Player > EuclidRange) rPointer.Disable; rPointer.MarkForDelete; set bInitialized to 0; set bEnablePointer to 0; set bPointerInitialized to 0; set nExit to 1; StopQuest VEuclidQuest; endifendif
I've tested this with all my C-Finder saves - no more failures. I'll upload the fix on the Nexus in a few minutes.
EDIT: http://www.newvegasnexus.com/downloads/file.php?id=38256