Хм. Что-то вообще странное. Никак не инициировать обновление StringGrid если этот самый StringGrid не в фокусе.
То есть если "раскраска" ячеек инициирована нажатием кнопки, например, то до перехода фокуса на stringgrid это не отобразится - никак
И ни repaint, ни update, ни refresh не помогают
Блин. Ничего не понимаю