>ディープコピーが簡単にできない
C# ディープコピー とかでググればシリアライザ使ったサンプルコードがある。

>C++風const
あんまり困ってない。便利だけどチーム開発で全員に徹底させるのは大変だしね。
後から付けると関連するモジュールまで変更が波及するのもよくない。(それだけ強力だって事だけど)

>外部で勝手にデータを書き換えちゃう
プロパティで公開してセッターのアクセサをinternal/protectedにしといたら?