I managed to sort this in Chrome by adding the following onFocus event to the Dialog (emailBody is the componentID of the Rich Text Field):
<xp:eventHandler event="onFocus" submit="false">
<xe:this.script>
<![CDATA[
<span style="font-family:courier new,courier,monospace;">var FieldID = "#{id:emailBody}"; </span></div>
var richCKEditor = CKEDITOR.instances[FieldID];
richCKEditor.focus();
]]>
</xe:this.script>
</xp:eventHandler>
By calling the focus() on the CKEditor itself, the CKEditor code probably cleans up any race conditions/ issues caused by the CKEditor being created against an element that is not currently being shown.
Shame on IBM, their workaround is "Use Internet Explorer", no wonder people are dropping Notes at the rate they are.