Yeah, I have figured out thats the way it works when the break element is set to div. The problem is that it causes issues if someone does any sort of editing to a block of text. If someone tried to go to an existing block of text and hit enter, they get different behavior than when they originally typed it. One specific problem is if the user wants to insert an unordered list. They hit enter and space out text, then hit the unordered list button, but the entire contents of the div become the first list item.
From what I have seen in your demo and other editors, when you use the P tag for the break element, it always creates a seperate paragraph regardless of whether you are typing new text or editing. When you try and create a list, it then works properly. This is fine, but for some reason, I set the Break element to p (BreakElement="P") in my web.config but it still uses div. I have tried both uppercase 'p' and lowercase.