くどいかもしれませんが、なぜ入力していないときにSPANIMを呼ぶとまずいのかというとSPANIMで「60フレーム使って入力した方向に移動する」処理が走っているため、キー入力が無いときもSPANIMを呼んでしまうと移動処理が再度呼ばれて動作がおかしくなるからという事になりますね