Sciware GOOP does this and I believe Endevo GOOP does as well, but I haven't really used either of them, so I can't say how convenient it is. I believe you can get evaluation versions of both.
Incindentally, I don't think this only has to do with C++. There are cases where you simply need a by-ref architecture. Specifically, when you want to concurrent access to a shared resource (e.g. a comm channel to a physical device, as many people using LabVIEW tend to need). NI is well aware of this need, but I don't know what their plans are for addressing it. Currently, their method is to use the class to hold a "pointer" (or a reference, strictly speaking) to the shared resource and there's a shipping example of that. That way, creating a new instance simply creates a new copy of the reference, which still points to the same place. Personally, I feel that writing code like that is not very convenient, but that's what NI currently suggests.
___________________
Try to take over the world!