When you create a part virtual inside of an assembly, is it stored within the assembly file, or is it only local to your PC? I've had issues where I create a virtual part, then open that assembly on another PC, and it can't find it.
Solidworks 2011
Enterprise PDM 2011
SolidworksAssemblies