Good Practice, read this board frequently and FAQ section. As for any official documentation, not that I am aware of.
$SO is a variable used to catch the output of function to prevent any output to the screen (SetOption in this case), many others use "$" for the same. If you leave it off you will see lots of 0's 1's and occasionaly other numbers appear on your console. There is a FAQ on it.
Your idea of changing the output to be only during logging may not be the best, as you would most likely be troubleshooting a particular user / workstation, and if you set the variable globally in the logon script, it would effect everyone that logons during that time.
I personally leave the If $logging = 1... in my scripts but when troubleshooting a particular user / workstation, run the script in debug mode - kix32 \\logonserver\netlogon\logon.kix /d - and set the variable in the debug mode.
What Glen was referring to was simply the results of the formatting on screen, in KiX "?" is = CRLF (carriage return line feed). When writing to a text file you would use the @CRLF macro to accomplish the same thing. To echo text to the console you simply put it on line
For $ = 1 to 100
cls
"this is line " $
sleep 0.25
Next
_________________________
Today is the tomorrow you worried about yesterday.