no!
Replace this:
vec_set(Temp,ball);
vec_sub(Temp,camera);
vec_to_angle( camera.pan ,Temp);
with this:
Add new var "camera_rot"
vec_set(camera_rot,ball.x);
vec_sub(camera_rot,camera.x);
vec_to_angle( camera.pan ,camera_rot);
That worked thanks!!!
Why on earth is the ".x" necessary though... its not just taking the X vector into account but all of them :S!