¿Es posible que la propiedad Show de los formularios tenga un fallo?
He creado un segundo formulario y con la propiedad
StartPosicion = CenterParent
Si llamamos al formulario desde 'ShowDialog(Me)' el formulario se centra respecto al que le llamo, caso que no sucede con 'Show(Me)'