Thanks for your very clear statement of the problem.
I no longer work on VisAD, but one part of your message
caught my eye:
> Analysis shows the geometry is still in the scene graph,
> and is live. Minimizing, resizing, further add/remove data
> references, and forced doAction on the display do no
> correct the bug. Major operations on the display that
> force a full re-draw (switching virtual desktops on Linux,
> zoom operation in our application) will cause the
> geometry to be displayed again.
If this bug proves to be difficult to track down, or is even
a bug in Java3D, one work around would be, whenever data
is added to or removed from a display, to trigger a delayed
(say, after 0.5 second) redraw. My memory of Java3D is a
bit shaky, but this might be done by setting the
projection matrix (to the same value it currently has).