Apologies, I think I made a mistake in the original posting.
Line "syn region CursorLine start ..."
should read
syn region CursorLine start="-\s*\([!].*\)\=$" end="\<" contains=Comment
It is possible that it worked with the version of vim I used at the time.
I took the liberty of modifying the latest posted version accordingly.
A.