These files are in the mtadata directory. They have nothing to do with your databases. When the mta processes messages, it creates .dat files as it needs them, but it does not delete them when done. It saves them in case it needs them again. The designers of the mta thought this would be more efficient than creating new ones every time. To reduce the number of files, from exchsrvr\bin, run mtacheck /rd /rp /v /f c:\mta.txt. The first 2 switches will clear out any old directory and public folder replication messages, the v is for verbose, the f will log to a text file (which you can put anywhwere and call anything).
I've seen this reduce the mta on a busy server from 10,000 dat files to 2000.
MTA must be stopped to run it, and there can't be any .dat files in the mtacheck.out folder.