In the end, we ended up writing our own serialization for .NET CF due to one too many bugs.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.