キャストに配列を指定してはいけない。つまり、foo = (Foo [])bar;こういうのはできないのよ。
代入したいのならmemcpy()でも使う。

それにしてもObjectPascalは、型が緩いんだろうか。