All of the above is absolutely correct when explaining the action of the LiquidCrystal library that is included with the Arduino when it is driving a 14 (or 16) pin LCD module directly through a parallel interface. That is why you will find no mention of println in the LiquidCrystal documentation.
In this case we are dealing with a serial interface and an unspecified library. The OP was unlucky in that his particular library did not intercept the 0x0D and 0x0A characters and make those codes do what he expected. The responders were lucky in that their explanation was correct for this particular library.
By the way the reason that the resulting characters are weird and possibly random is because they are accessing two of the eight available custom characters (the ones that you can create using createChar) via their 'foldback' addresses. These characters are associated with ASCII codes 0x00 - 0x07, but the same eight characters are also accessible by using 0x08 - 0x0F.
Don