>仮想関数を含むオリジナルクラスのインスタンスの場合だけそのクラスを継承したポインタにキャストできる
dynamic_castの話なら、そのとおり。仮想関数を持たないクラスには働かない。
継承先の情報はインスタンスが隠し持ってる仮想関数テーブルに入ってる。
そもそもそれがなきゃ仮想関数の呼び先を解決できない。

deleteしなければプログラム終了まで有効。その続きのも大丈夫。
deleteし忘れてどんどんnewしてるとそのうちメモリを食い尽くすから要注意。