Changing object location in local coordinates don't work If I:


start a new blender project
press Z for viewing in wireframe (helps later)
set the origin of the cube to vertex (-1, -1, -1). Do that by pressing TAB to enter edit mode, A to deselect all, right click vertex (-1, -1, -1), press SHIFTS with the mouse cursor inside the 3D viewer then select Cursor to Selected, then TAB to exit edit mode, CTRLALTSHIFTC and set Origin to 3D Cursor.
set pivot to the origin (individual origins) 
rotate 45 degrees on X
add a sphere
set sphere as child of the cube (CtrlP then selecting Object)
reset location/origin of sphere (AltG then AltO)
change transform orientation to local
select the sphere
grab sphere (G)
constraint to Y axis in Local (press Y then Y again)


I expected to have the object move within its local Y axis (rotated in relation to the world coordinates), but unfortunately even pressing Y twice, the Y axis constraint is not being set to the cube's rotated Y (it does show "along local Y" in the status bar).

I did manage once to have it constrained by the proper rotated axis, but I can't seem to understand what I did and couldn't reproduce it again.

Can I get some advice on what I am missing?

MORE INFO
It seems to me that when I add the sphere to the cube as a parent, the sphere's rotation is not relative to the cube's. I'd have to rotate the sphere to the same 45 degrees in X. However if I add the sphere the cube as child before I rotate the it, now things work properly. But how do I do it when the cube is already rotated? It would be really not optimal to have to remove rotation every time I wanted to add a child object.
From http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Parenting:


  The “Clear Parent Inverse” function sets this inverse transformation to the identity transformation, so the child picks up the full parent object transformation.


I guess instead of adding the object to the parent with CTRLP, I have to do it so with CTRLSHIFTP, so that the child+parent relation ship is set and the Clear Parent Inverse is performed. 

NOTE: I don't understand the details so if anyone adds a proper answer I'll mark it as answer. For now though this will be the answer for this question.