How to stop objects from flipping when using animations with a camera?
This is occurs due to use of properties inside action. If you use integer or float property inside action then it take property value as frame number.
Your animation start from 0 and end to 100 with 45 degree Y-axis rotation. 

So When you put property value as 50, its take position of your cube animation from frame number 50. If you want to check this then use also 0 and 100 as property value. You also can check with any number you want between 0 to 100(limit of your frame animation). If you will use value above on 100 then its automatically take last frame of animation as property value.

Your cube movement erotic with mouse because You set properties inside to action so it set given property value between your frame animation as frame animation value( In starting it use original animation frame and in between your cube animation it set given property value and again use frame animation and so rotate cube).

In motion you can not use property so its play your original animation with frame animation, So there is no middle value to change position of cube therefore  in motion Actuator your cube animation play without erotic movement.

And one more thing is. I think it check/update property to every pixel so when you move mouse it play your prop given value from frame animation(with object position change).

** Edited **

First thing -> What do you want to do.
 1) Move cube when mouse move without cube animation. 
 2) Move cube when mouse move with animation. 

1) If you want to move cube with mouse movement and without animation then just use action actuator with play(action type) and dont set start and end frame in this. Dont use property inside action.

2) If you want to move cube with mouse movement  and with cube animation then just use play(action type) and start and end frame in it still don`t use property.

Main thing You want to make your cube animation rotation with 10 degree rotation with mouse move. So here you can do this with start and end frame just set your end frame to half of timeline like 50. So its move just 10 degree what you want.

you also can do this with two bool properties. First is true then set end frame to 50 and if second one is true then set end frame to 100. you can do this with scripts. sorry I dont know python for this so i cant post python code here. I am working with unity because unity is better then bge for game development.