Buenas, el problema no es con la base de datos por eso no la especifique. Ahora que os confirmo que es MYSQL 5.
Continuo haciendo pruebas y he descubierto algo bastante extraño, he creado una aplicacion nueva que contiene un client y un dbgrid completamente nuevecitos (para probar de forma aislada) y parece no fallar nunca.
Es posible que me toque eliminar el form y volverlo a crear de nuevo porque se haya jodido el componente. (cosa plausible ya que es una migracion de Delphi7 a Delphi2007)