Sometimes a hint windows is not a good fit for a "information window". What we have done previously with a window containing a StringGrid, is create a hidden Panel (or Bevel), then place all our needed components into that (images, Label, Memo etc). Then as the user moves the mouse over the cells in the grid, we populate the information window with the needed information, then made the hidden panel visible, bumped its Z-order (to always be on top) and position it near the StringGrid cell in question (optional). When the mouse left the StringGrid, we hid the panel again.
This was in the days of Delphi 5-7, and it worked very well. I believe it will still work well for your needs today.