That looks like it should work, but for some reason the whitespace is still being trimmed. (btw, I'm using 6.12 if it matters.)
maybe its 6.12 but....
I would suggest using my method and just prior to writing the %rowdata out do a ///echo -st rowdata = $replace(%rowdata,$chr(32),$+($chr(32),$chr(2),$chr(2)))
This should show u if at some point you have caused the white spaces to be removed, before you wrote the data out, it simply replaces each space with a space bold bold which well allow all the spaces to be displayed in a /ECHO
ON your code you can do this...
bset -t &rowdata 1 $+(%rowdata,$crlf)
breplace &rowdata 160 32
bwrite gettabletemp.txt -1 -1 &rowdata
Which is also a useable method (and can have a far longer %rowdata), but means u cant have a $chr(160) in the source data, as it would be replaced (same problem in your code)