RE: "The Comments field"
If you want to preserve the formatting and attachments, then yes, AppendText will only append plain text. Change that line to this instead...
Call Body.AppendRTItem(Comments)
RE: "Notes crashes and closes at the end"
Well, that's a bit harder. I don't see anything in PostSave that would cause a crash.
Is there any code in QuerySave or the other form events? Since were opening and closing the uidoc, all sorts of timing issues can crop up. You'll have to be really careful in your form events, but I've used this technique many times. It's not impossible.
One thing that I do notice in PostSave is that you are getting a new handle to the uidoc even though the event method already provides one. I've found that Notes is more stable when you use the handles that they give you.
Also, in the code that I sent you, we're setting the 'Sent' field in the back-end after the form closes, so it would not be available on the form in PostSave. In looking at your code, I don't see a need to mess with the front-end classes at all. I would probably change PostSave to something like this...
Sub Postsave(Source As Notesuidocument)
Dim doc as NotesDocument
Set doc = Source.Document.ParentDatabase.GetDocumentByUNID(Source.Document.UniversalID)
If (doc.GetItemValue("Sent")(0) = "Yes") Then
...
RE: "I need to save today's date as date only"
Dim dt As New NotesDateTime(Now)
curdoc.Report_Date = dt.dateOnly
RE: "I'd like to fix it here instead of the view column"
Always a good choice. Views are slow enough already.