Trying to narrow down:
If a value does not exist, GetString returns NullException error, while GetValue returns that IConvertable message (optimized compiler and PPC 2003). Assumingly, the got value can't be converted to a string.
According to Registry Help, both can be used to get REG_SZ values.
Instead of NullException, GetString should ideally return an empty string.
Catching up NullExceptions while quering registry entries in a For...Next loop is not feasable.
There are no such issues with the old compiler or optimized compiled running under WM5/6.