In this blog entry by Andrey Karpov entitled, "About size_t and ptrdiff_t" he concludes with
As the reader can see, using ptrdiff_t and size_t types gives some advantages for 64-bit programs. However, it is not an all-out solution for replacement of all unsigned types with size_t ones. Firstly, it does not guarantee correct operation of a program on a 64-bit system. Secondly, it is most likely that due to this replacement, new errors will appear, data format compatibility will be violated, and so on. You should not forget that after this replacement, the memory size needed for the program will greatly increase as well. Increase of the necessary memory size will slow down the application's work, for the cache will store fewer objects being dealt with.
I don't understand these claims, and I don't see them addressed in the article,
"it is most likely that due to this replacement, new errors will appear, data format compatibility will be violated, and so on."
How is that likely, how can there be no error before the migration and the type-migration result in an error? It's not clear when the types (size_t and ptrdiff_t) seem to be more more restrictive than what they're replacing.
You should not forget that after this replacement, the memory size needed for the program will greatly increase as well.
I'm unclear of how or why the memory size needed would "greatly" increase, or increase at all? I understand though that if it did Andrey's conclusions follow.
Well any change will potentially introduce errors. Specifically, I can imagine changing sizes could break where less rigour with regard to types have been applied (e.g. assuming ints or longs being the same as pointers where they are not). Any binary structure written to a file would not be readable directly, and any RPC may well fail, depending on protocols.
Memory requirements will obviously increase as the size of most in-memory objects will increase. Most data will be aligned on 64 bit boundaries, meaning more "holes". Stack usage will increase, potentially resulting in more frequent cache misses.
While all generalisations may be true or false, the only way to find out is to do some proper analysis on the system at hand.