Another ed user? Well, that makes at least two of us.
Most of your question is answered by this: ed has no idea why you are sending it the end-of-transmission character. If you do it enough, ed eventually prints it's error symbol, the question mark. Which, in ed-speak, is roughly translated as, "What the heck is going on?!?" Send enough EOT characters and it will eventually guit.
In your first question, the '.' has nothing to do with ctrl-d, but simply designates the current line in the buffer (usually the last line you appended). Use the '.' as a command by itself (after you've finished appending material) and it will print said line.
BTW, ed does
have a manual page...