The .SetValue method appears to save as sz, multi_sz or expanded_sz when a string is passed, but in this case an integer is passed therefore is defaulted to DWORD. From the .NET Framework Class Library documentation:
Note When setting a value, the way in which the value being passed is stored in the registry is interpreted. There is no way to control whether the information being passed is stored as an sz, or an expanded_sz string, and therefore, all string values are interpreted as standard sz values.
I dont know why the documentation does not mention DWORD though.
HTH