Не знаю стоит ли их перерисовывать - проще применить colorTransform

Код AS3:
private function mouseEventHandler(event:MouseEvent):void
{
var obj:DisplayObject = event.target as DisplayObject;
setTint(obj, color, percent);
}
private function setTint(object:DisplayObject, rgb:uint, percent:uint):void
{
var t:Transform = new Transform(object);
var ct:ColorTransform = t.colorTransform;
var ratio : Number = percent / 100;
ct.redOffset = (rgb >> 16)*ratio;
ct.greenOffset = ((rgb >> 8) & 0xFF)*ratio;
ct.blueOffset = (rgb & 0xFF)*ratio;
ct.redMultiplier = ct.greenMultiplier = ct.blueMultiplier = 1 - percent/100;
t.colorTransform = ct;
}
Правда с точки зрения архитектуры не очень хорошая правктика менять свойства прямов в событии. Лучше устанавливать виртуальное свойство, а уже ячейки из него пусть берут текущий цвет
Добавлено через 6 минут
Для некоторых случаев когда элемент уже раскрашен определенным образом неплохо смотрится наложение поверх плашки в режиме BlendMode.OVERLAY (или другом).
Тогда сохраняются некоторые оттенки основной графики и элемент обретает некоторый общий стиль в определенном тоне, а не происходит полное перекрашивание
Добавлено через 7 минут
А вообще посмотрите на устройство компонента DataGrid в стандартном наборе флеш компонентов или же его же и используйте