Bill,
I do not know if your doing anything wrong, If I understand the problem you are describing I have the same problem when I first am laying out my forms with the subforms. My solution might not be correct (The Lanticans will need to correct this if its wrong) but my solution always fixes my problem.

First I believe if you just go to the database form that contains your Comment element that displays in the subform and resize making the element a little smaller it will solve the shrinking of the date field.
(Bill I just took a look at the database you E-mailed me the other day with the Tab problems. If the database you are talking about is the same I just used this above fix on your comment subform and it worked.)
I changed the comment element size by
Opening sdesigner
Opening your DSR
Click forms
Click redesign customize a form
Click on contact
Click on comments
Click on comment
Click on the comment element
Hold the Shift key and press the back arrow key about 6 times to resize the element smaller
Click Save Layout Design
Preview your app to make sure the element is the correct size
Exit preview
Reconcile your app
The reason the date does not update until you exit the entire record is because you have your code in on element exit but you never exit that element because there are no other elements on the subform to go to.
I solved this by using the throwfocus() command to exit the comment element thus allowing your code to execute. I edited your code to below.
IF CommentDate = "" and Comment <> "" Then
{
CommentDate = @date
Throwfocus(CommentDate)
}
(you might also want to look at using @isBlank() instead of the double quotes. @isBlank is more reliable. Check out page 22 of the new supplement, It explains)
I hope this helps and I am sure a Lantican will jump in if my solutions are to far off.
Robert