Why is thymine rather than uracil used in DNA?
One major problem with using uracil as a base is that cytosine can be deaminated, which converts it into uracil. This is not a rare reaction; it happens around 100 times per cell, per day. This is no major problem when using thymine, as the cell can easily recognize that the uracil doesn't belong there and can repair it by substituting it by a cytosine again. 



There is an enzyme, uracil DNA glycosylase, that does exactly that; it excises uracil bases from double-stranded DNA. It can safely do that as uracil is not supposed to be present in the DNA and has to be the result of a base modification.

Now, if we would use uracil in DNA it would not be so easy to decide how to repair that error. It would prevent the usage of this important repair pathway.

The inability to repair such damage doesn't matter for RNA as the mRNA is comparatively short-lived and any potential errors don't lead to any lasting damage. It matters a lot for DNA as the errors are continued through every replication. Now, this explains why there is an advantage to using thymine in DNA, it doesn't explain why RNA uses uracil. I'd guess it just evolved that way and there was no significant drawback that could be selected against, but there might be a better reason (more difficult biosynthesis of thymine, maybe?).

You'll find a bit more information on that in "Molecular Biology of the Cell" from Bruce Alberts et al. in the chapter about DNA repair (from page 267 on in the 4th edition).