I have reported this as a bug in JavaFX (Jira issue).
A comment from that issue:
The problem is that no subsequent pulse is scheduled when showAndWait() is called while pulse is being processed.
This was 'fixed' in Java 8u20. An exception is now thrown. Changes can be seen here.