The first publication of an MD5 collision was on 17-Aug-2004 17:44 UTC on the eprint archive server: Xiaoyun Wang, Dengguo Feng, Xuejia Lai and Hongbo Yu, Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD (third version). The results where fresh: the authors had just corrected IV endianness, that they got reversed in two earlier versions. Like 8 hours later, the results where presented at the Crypto 2004 Rump Session.
The (first half) of their table showing the first MD5 collision was:
The hurry in which this was prepared shows: the names for messages blocks and halves is inconsistent; the leading zero of some 32-bit values is missing; the 32-bit values are to be converted to bytes in little-endian order, but that's left unstated; $H$ is not an MD5 hash, but the internal result after hashing two 512-bit blocks before hashing the padding.
The notoriety of this message pair is apparent when Googling its actual MD5 hash a4c0d35c95a63a805915367dcfe6b751.
It was quite thrilling when late on 17-Aug-2004 (in Paris, thus still slightly before the rump session) I verified this result, announced it on sci.crypt, made a zip with two distinct files for which md5sum was giving the above hash, and posted it to the forum for the md5crk project (mailing list archives). Perhaps theses are the oldest files online with identical MD5 hashes. Googling md5col.zip file0 file1 brings back other hits, including this.
The later peer-reviewed paper explaining the technique is: Xiaoyun Wang and Hongbo Yu, How to Break MD5 and Other Hash Functions, in proceedings of Eurocrypt 2005.