Afraid I don't have access to Intel compilers (oddly enough), but my immediate thought would be that there is some variable size difference - possibly a default change between 64 and 32 bit for "int"? Your output offset just looks to me like you wrapped the field.

I believe the MPI interfaces all expect 32-bit ints, so it might be worth checking.