Alan, could you take a look at this comment and get the fix on mono-2-10 and master?
We don't really validate anything against the OPC spec simply because at the time of writing this section of the framework our support for handling custom Uris was incomplete. If things have improved, I'll look into implementing proper validation.
I'll definitely fix this issue as you've described anyway. Your approach is perfect.
This should already be in master + 2.10 branch (it was required for the NuGet support).