>Newの定義を複数用意してあるうえにOverrideとかもあったりして簡単にできません。

Newの数がそんな異常な数あるとは思えないとして
で、単純に引数追加したらデバッグ必要じゃないところまで変更が必要だからそう言ってるんだと考えたら

New AAA()
New AAA(X as string)
・
・

の部分を
New AAA(optional InstanceNo as integer=-1)
New AAA(X as string,optional InstanceNo as integer=-1)

みたく定義すればよくね?
で、Newの中でてきとうなPrivate変数に保存して、使えばいいんじゃね?
これならNewの最後にコピペして、ちょっといじるだけだし、既存のコードにも影響を与えないと思うんだが?