俺はJava3D は全く分かっていないので以下そのつもりで。

MainFrame は Window のサブクラスだけどコンストラクタ中で既に表示されてるわけだから、
setUndecorated は適用できない。
というわけであとから表示できる Window を作らなければならない。
だから JFrame のインスタンスを作って Applet を add するようにしてみたとする。つか、してみた。
JFrame frame = new JFrame();
frame.getContentPane().add(applet);
frame.setUndecorated(true);
device.setFullScreenWindow(frame); //ここで勝手に setVisible されるので改めてしなくてもいい
そうするとだな、少なくとも手元の環境では Canvas3D が何にも表示してくれない。
配置はされている。MouseListener をしかけるとクリックに反応してるのがわかる。
OpenGL か何かしらんが、3Dエンジンが出力先を見失ってるんじゃないかと思うんだがなんともわからん。

ちなみに、undecorated して fullscreen せず setBounds だけしておいた Frame から、
alt 押してメニュー出して最大化すると期待通りの結果になる。こうなるといいんだが。
力になれなくてもうしわけないね