SPHITSP(U)の戻り値は、SP U の衝突相手です。 IF XXX THENで判定してますが、衝突相手がSPの0番だった場合、IF 0 THENなので条件は成立しません。 (むしろ 衝突無しの時に IF -1 THENなので条件成立してる様に見えますが???)