Ok I've been going round in circles all day and I think I've broken it down to one simple problem.
If I have the following line set in my Web.config, then the editor works fine, and shows the correct styles in the Normal and Preview views:
EditorWysiwygModeCss="~\Portals\_default\Skins\SKINNAME\skin.css"
However, if I change the line to the following, then no styles are applied in the editor:
EditorWysiwygModeCss="~\Portals\_default\Skins\SKINNAME\editor.css"
Even though editor.css contains THE EXACT SAME DATA as skin.css
Does the style sheet defined in the EditorWysiwygModeCss property have to be linked in the header of the document?
This would explain why skin.css works, but editor.css doesn't. If this is the case, then it's a bit of a problem with DNN unless I alter Default.aspx (effectively a Core change).