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?