I had a very similar situation last week, but it's pretty easy to solve. In my case, my CallOutBox would affect the settings for something that I would be able to click on, potentially causing a clash.
I made the Component contained within my CallOutBox a ChangeBroadcaster. Then, in the destructor of that Component, I call sendSynchronousChangeMessage(), which informs the parent GUI (registered as a ChangeListener) that I'm in the process of clicking away from the CallOutBox. In my case, I use that trigger to reload the GUI, to ensure that it's picked up the updated values. In your example, you might just want to disable the grid and re-enable on a short timer instead?
P.S. This technique mimicked how the ColourSelector class works in Juce. Apologies to Jules if I've misrepresented the approach!