How can I process OnKillFocus( ) for the grid when a cell is active?

When a current cell is active and receives the WM_KILLFOCUS message, it sends a WM_KILLFOCUS to the grid.

So, you can process the WM_KILLFOCUS message in your grid, even if a control was active.  But, you should check the m_bIgnoreFocus flag.  This is set when the focus is set to a current cell.

void CMyGridWnd::OnKillFocus(CWnd* pNewWnd) 
{
   if (!m_bIgnoreFocus)
   {
      // do your processing
   }
   CGXGridWnd::OnKillFocus(pNewWnd);
}