What are you trying to accomplish with this -- i.e. what are temp, temp2, and my in this case?

I had this problem before because I needed my player to rotate arbitrarily in a zero-G game, but ang_rotate worked pretty well for me.
For example, if you want a player to rotate around its own Z-axis (pan), no matter how that axis is oriented, when the D key is pressed:
Code:
while(1)
{
//...

if(key_d)
{
ang_rotate(my.pan, vector(-5 * time_step, 0, 0));
}

//...
wait(1);
}

This might not be exactly what you want though...