Supongo que es cuestion de gusto y criterio, yo prefiero un Exception, ¿Por qué?
Un usuario ve un showmessage y directamente pulsa en el aceptar, tienen tal vicio con el raton que ni si quiera lo lee.
Ve el simbolo de error, se asusta,
lo lee, y despues pulsa aceptar.