I think, the problem is what youre doing here:
function coll() {
jump.x = 0; jump.y = 0; jump.z = 500;
if(key_space )
{
phent_addvelcentral(pointer,jump);
}
}
I think this is an odd mix of physics and script. Youre using an event and adding your own velocity by code, why? I think jumping should better be controlled by physics, elasticity and so on. Have you tried it with physics?