You mean there's no \n before BlahBlahBlah or after $TIME at the end of the file? It's usual to put the \n after what you want to print, not before it (e.g. printf "BlahBlahBlah - $TIME\n" ). As it is, anything added to the end of the file (not added by your printf with its leading \n) will go directly after $TIME, on the same line.
No. This is true ONLY for MS environments. Any *nix style system uses \n exclusively; in fact, the presence of \r in data files or scripts is the cause for many errors.
Another reason to insist on people showing their system / environment...