Agree a complete example would be helpful. From reading the description, if you're selecting the same value, it's not really a "change" as far as the data model is concerned, so not getting an event makes sense to me. (Although onKeyReleased should probably be working. However I don't recommend using that method anyway because it'll ignore mouse events, and there should be better ways, anyway.)
Some tangental comments that may or may not be useful to you..
1) You might want to consider changing your hour/minute ComboBoxes to a Spinner component type.
2) If you're doing serious work with Date/Time and time zones, I strongly recommend using the java.time api.
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
Time zone hour offsets are problematic when you drill down into the very complex topic of Date/Time and time zones so depending on your needs, java.time could be a very big deal for you.
3) Normally in a JavaFX FXML controller you initialize by implementing the Initializable interface and then implementing this method, rather than using the constructor:
@Override
public void initialize(URL location, ResourceBundle resources) {
}
Although this only gets called once, so if you need one that gets called manually every time the thing is shown, you might still want an "init()" method or an onShow() or something that you can call at that time. But the key thing with the above method is that all your FXML components have been created and injected at that point via FXMLLoader, which is not the case in the constructor.