>>679
旧VBのLongは32ビット、VB.NETのLongは64ビットという変更点を理解していないためと思われ。
APIの宣言でAs Longとかしてるとこないか?旧VBでLong型を利用しているところは、
ポインタ系はIntPtr、それ以外はたいていIntegerで宣言します。

Integer分の戻り値のところをLong分ぶんどったら、間違ったメモリ領域の値まで拾ってしまうと思われ。