I just noticed that xdr_long and family can't encode 64bit values but truncates them to 0 and reports error if it can't represent the value in 32 bits.
I didn't find any usage of NML message containing long ints, but IMO those cms::update functions with long family should be removed so nobody needs to walk into that trap again.