Nice video! It is a bit of a pity so many people are moving away C++ just when we are finding out how powerful it really is.
One question about the code though:
When casting from a large signed type to a smaller type (int to unsigned char), SafeInt now does a two-sided compare. Why not cast the int to a uchar, and check if its the same when cast again to an int? That's one if statement less. Should be smaller and a tiny bit faster.