I think that the main issue you will have in terms of converting it to C is that CIL is essentially a lower level language than C, and it is typically very difficult to "climb" the language levels. Your example shows this as checking for overflow is trivial in x86 but is actually quite difficult in C.
In terms of ignoring overflow checks in the Mono BCL, the most important question to ask is
If the checks weren't needed, why would they be used?
The Mono BCL is a fairly mature library so it would be sensible to expect that it is well written by people who know what they're doing; So if you modify the code by removing the overflow checks the code may appear to work just fine, but remember, overflow situation should be the exception rather than the rule.Also, whilst previously overflow would have immediately thrown an exception, it will now pass "bad data" on where it may or may not cause greater issues.
In short, removing overflow checks will probably mean that most of the time most of the code will work, but there will no longer be any guarantee that it will. This means that unless you very thoroughly check every possible code path or cover all code with test cases, you expose yourself to very great risk by avoiding these checks.