The tracker description:
"This patch fixes this bug:
http://projects.blender.org/tracker/index.php?func=detail&aid=25487&group_id=9&atid=306
This was accomplished by making sure the KX_GameObject's object color gets set during the conversion process in the method gameobject_from_blenderobject. Otherwise all the values for object color default to 0. The reason adding an IPO worked as a work around is because it set the object color."
The bug report mentioned is bug [#25487] "BGE: Object Color only works when it has a keyed frame"
{
gameobj->SetLayer(ob->lay);
gameobj->SetBlenderObject(ob);
+ gameobj->SetObjectColor(ob->col);
/* set the visibility state based on the objects render option in the outliner */
if(ob->restrictflag & OB_RESTRICT_RENDER) gameobj->SetVisible(0, 0);
}