Because you're not putting them back together in the same order that they started in. You're right, if you reassemble them correctly, the md5sum should match. Here's a trivial example:

$ cat > xaa
This is the first file
$ cat > xab
This is the second file
$ cat > xac
This is the third file.
$ cat $(ls -t x*) > final.txt
$ cat final.txt
This is the third file.
This is the second file
This is the first file

Try this:

$ cat x* > good.txt
$ cat good.txt
This is the first file
This is the second file
This is the third file.