I figured it out. I used a struct, which is a value type. So my offending line of code was trying to change the version on the stack (a copy), not the original version. The compiler detects that this would have been useless. How arcane is that!
The solution is to change the struct to a class, which is a reference type. Good to go.
Friday March 07 2014 by