OK....what I'm seeing is the stored file gets a .jpg file extension. Look at the URL for the stored file on your tests.
Looks like the upload is converting the .gif to .jpg for storage. That's a new problem.
I'd file a Support Case, so they can figure out why that's happening.
Danno
Edit: On some tests, I'm getting a gif extension, but the entire gif isn't present. From a quick breakdown of the code, it appears only one "frame" of the animation is present. The file size is a give-away that it's losing something.