Can someone explain why according to "Best Practices" the NoVarsInStrings and Explicit options should be enabled? I believe the explict option has something to do with memory allocation but not really sure.

In a login script I am using I create $USERPROFILE the following way,
$USERPROFILE = EXPANDENVIRONMENTVARS(READVALUE("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\@SID","ProfileImagePath"))

Using @SID within the variable makes this work great.

I also created the following variable,
$MY_DOCUMENTS = EXPANDENVIRONMENTVARS(READVALUE("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders", "Personal"))

and use it quite often to verify cetain objects exist within the user's "My Document" folders.

Just trying to understand the logic. I figure I am missing something. Is there a better way to set these variables?