Maybe, I understand your problem wrong, but here is my soltion:
Exchange 'nullvector' with 'vector(0,0,myVerticalAccel)', because the first vector is relative to the entity's angles and the second is absolut, means relative to the worlds angles.
c_move(player, nullvector, vector(0,0,myVerticalAccel), IGNORE_PASSABLE | GLIDE);
From the manual:
c_move(ENTITY* entity,VECTOR* reldist,VECTOR* absdist,var mode)
Moves an entity over a certain distance while performing collision detection, triggering collision events, and gliding along obstacles.
The first vector reldist gives a relative distance and direction in rotated entity coordinates, i.e. the direction that the entity is facing. The second vector absdist gives an absolute distance and direction in world coordinates.
http://www.conitec.net/beta/ac_move.htm