It's quiet simple actually and I think many of us developers get caught out with this one some or other time.
You see, SMTP.Body is a variable holding information (data) and what you are actually doing with the code you have posted is over writing that variable each time you iterate through the loop. So to fix it, you would need to do something very simple like replacing this line:
SMTP.Body = BodyRecords & CRLF
with:
SMTP.Body = SMTP.Body & CRLF & BodyRecords
Another alternative would be:
For Row = 0 To CursorBaust.RowCount - 1
CursorBaust.Position = Row
BodyRecords = BodyRecords & CursorBaust.GetString2(0) & CRLF
Log(BodyRecords)
Next
SMTP.Body = BodyRecords
You see, this statement
Log(BodyRecords) writes a line to the log and line feeds it - so it looks correct in the logs as you would expect it and that is what "threw" you off course.
Enjoy !!