Another thing that varies between releases is the big interpreter struct. New releases may add a new member somewhere in the middle, or change the size of one of the members. This means that any members beyond that point are misaligned from the perspective of the .so file which was compiled using the old struct definition. This usually manifests itself as most things working fine, then suddenly perl crashes when you try to access $1 or use FETCH or something.
Dave.