This is no longer an issue, but am no closer to finding an answer as to why it has changed.
I was able to change and recompile the code, with changes being reflected in the code (still incorrectly compiled). I decided to retype the code by hand in another coffeescript file, which worked perfectly. I then copy/pasted over my retyped code, and it still worked in the other file.
I then swapped the contents from my existing coffeescript file over to the file I was having issues with, and it wouldn't even compile. I renamed the file, thinking that perhaps there was some naming restrictions I was unaware of, and it began to compile correctly. I then changed the file name back, and it still compiles perfectly. Note that above I mentioned the compilation was being updated with changes, just compiling incorrectly (it wasn't an old version).
The strange thing here, is that I was able to undo all changes and recover the code which was having issues. Copying this into compileronline still caused the same problems, but copying the new code worked perfectly. I did a diff comparison between the old and new code, and it reported no differences, even though the above was entirely repeatable.
All I can assume is this was a whitespace/character issue which wasn't being shown in the diff, even though retyping by hand didn't seem to fix it the first time, until the file was changed. I have yelled at the world about the injustice of this enough and I need to move on, but I would be very interested if anyone had a more solid reason for this.