Api action=options has a documented feature:
If no value is given (not even an equals sign), the option will be reset to its default value
But the query api.php?action=options&change=skin&token= will give "Validation error for 'skin': ", because HTMLRadioField::validate will return false on the given null value and that false is converted to a empty string. When it will return true, the null is passed to User::setOption and than gets it default value, which is okay.
See Also: