I have tested it on my own.
The code:
Click to reveal..

Code:
///////////////////////////////
#include <acknex.h>
#include <default.c>

///////////////////////////////
ENTITY *look_at;
VECTOR direction;
action my_action()
{
   look_at = me;
   set(my,SHADOW|CAST);
   while(!key_space)wait(1);
   if(0==phent_settype(me,PH_RIGID,PH_BOX))beep();
   phent_setmass(me,10,PH_BOX);
   phent_setdamping (me, 0, 0 );
   phent_setelasticity (me, 50, 0);
   phent_setfriction (me, 50 );
   phent_addcentralforce(me,vector(0,0,386*10));
   while(me)
   {
	phent_getvelocity (me, direction, nullvector ); 
	wait(1);
   }
}
function main()
{
  vec_set(screen_size,vector(800,400,0));
  vec_set(screen_color,vector(50,1,1)); // dark blue
  vec_set(sky_color,vector(50,1,1)); // dark blue
  video_window(NULL,NULL,0,"My New Game");
  d3d_antialias = 1;
  shadow_stencil = 3;
  
  level_load("");
  vec_set(camera.x,vector(-250,0,50));
  vec_set(camera.pan,vector(0,-15,0));
	ph_setgravity (vector(0,0,-386 ));
	ent_create("box.mdl",nullvector,my_action);

}




if the line while(!key_space)wait(1); is comment out everything works like expected.
but if it isn't comment out, nothing works as expected.
the object accelerats downwards.

my only explaination is that the problem is caused by ODE itselfs.

muffel