Wie schön dass Du beurteilst dass der Code des MessageDialogs in Ordnung ist, aber offensichtlich spielt er ja doch mit rein, insofern wäre der constructor dort vermutlich hilfreich bei der Problemsuche
(oder anders ausgedrückt: mit solchen Ausschlüssen steht man sich selber gerne im Weg, schließlich ist man als Autor des Codes ja noch am ehesten betriebsblind)