Isn't there the risk of giving a new VF1 the unit handle VF2?
// Make sure the VF we're looking at isn't VF1
if (curVF != VF1)
Granted, if both VFs are destroyed and then rebuilt, then yeah, what was VF1 may become VF2 and vice-versa, but I really don't see that being a problem since most of the time VFs are built right next to each other anyways.
Edit: Not to mention that code assumes you have more than one VF. If you've only got the one then no problem.