Well, updating to 7.8 made no difference. I'm still seeing the same thing (wrong perspective).
I have my camera action attached to a "camera" model I made.
Here's that script again:
action free_camera()
{
video_set(1920,1200,0,1);
d3d_antialias = 1;
VECTOR camera_force;
set(my,INVISIBLE|POLYGON);
camera_force.z = 0;
vec_set(camera.x,my.x);
vec_set(camera.pan,my.pan);
camera.flags |= ISOMETRIC;
while(1)
{
camera_force.x = (key_w - key_s)*50*time_step;
camera_force.y = (key_a - key_d)*50*time_step;
vec_add(my.pan,vector(mouse_force.x*(-6)*time_step,mouse_force.y*6*time_step,0));
c_move(my,camera_force,nullvector,GLIDE+IGNORE_PASSABLE+IGNORE_PASSENTS+IGNORE_PUSH);
vec_set(camera.x,vector(my.x,my.y,my.z));
vec_set(camera.pan,my.pan);
wait(1);
}
}