This super-simple patch should pretty much fix those issues:
Index: shipfx.cpp
===================================================================
--- shipfx.cpp (revision 7929)
+++ shipfx.cpp (working copy)
@@ -4222,7 +4222,7 @@
if(direction == WD_WARP_IN)
{
- shipp->flags |= SF_ARRIVING_STAGE_2;
+ shipp->flags |= SF_ARRIVING_STAGE_1;
objp->phys_info.flags |= PF_WARP_IN;
objp->phys_info.vel.xyz.z = (scale_factor / sip->warpin_time)*1000.0f;
objp->flags &= ~OF_PHYSICS;
@@ -4258,6 +4258,7 @@
vm_vec_scale( &vel, initial_velocity );
objp->phys_info.vel = vel;
objp->phys_info.desired_vel = vel;
+ shipp->flags |= SF_ARRIVING_STAGE_2;
}
objp->flags |= OF_PHYSICS;
this->warpEnd();
@@ -4287,4 +4288,4 @@
vm_vec_scale_add(&objp->pos, &pos_final, &objp->orient.vec.fvec, scale);
}
return 1;
-}
+}
\ No newline at end of file