Hola:
Veo que aplicas el color celda a celda, y podrías directamente aplicarlo a la fila completa...
Creo que tendrías que buscar el check correspondiente... sabiendo que está en la primera celda y es el único tag input... podrías obtener su estado:
estado = fila.getElementsByTagName("TD")[0].firstChild.checked;
Y aplicar en el mouseout, o sea cuando valor es false...
if (!valor && !estado) // aquí la vuelta...
Saludos