This appears to be a bug in Safari.
The onbeforeunload function is only respected once per tab, though it is called on each occasion
- Edit a form
- Hit refresh instead of save
Form change checker warns you
The change checking is working and it is reporting that the form is dirty. The message is reported, but is not shown in Safari.