After re-reading Don's explanation of what's happening behind the scrollDisplayLeft() function, it is clear the HD44780 is not doing any actual memory manipulation, simply changing the memory pointer for where the display gets its data. It looks to me like autoscroll() does the same thing.
If so, then no matter what I do I am going to end up having to do my own 'shift' code since my 'string of strings' will always be longer than 40 characters. I was hoping to take advantage of the built-in functionality to just shift everything one position to the left and write the new character to the end, but from what I can tell (from the link Don previously provided: http://www.geocities.com/dinceraydin/lcd/commands.htm
, plus looking at the library and data sheet) there are no HD44780 commands that manipulate the memory (i.e. move data from one location to another) at all.