What do I need to set to have my grid keeping the cursor position ( within the cell ) when it loose the focus and then get it back?

There is a flag

m_bLockActivateGrid

If you set this flag the grid will never be deactivated / activated when the grid looses / receives focus. Take also a look at OnActivateGrid(). This function is called from KillFocus().