The font selected in the Preferences, is used only for displaying messages what are haven't defined font. But for the rich-text formatted messages (html-messages) the mail.app will use the font what is defined in the message itself (or the default one) when such font is not installed or the message itself doesn't define the font.
So, if you got an
- rich formatted message (e.g. with accented characters /e.g. utf-8/ ) and
- in the message is defined the font (for example "Arial")
- and you HAVE Arial font (but e.g. without unicode chacters)
you will get badly formatted message.
Try the following:
- start Font Book.app
- select preview->Custome
- on the right side write write some text for waht you want test the font (you can use "character wiewer" to adding some text: e.g: "áéíóúöČĎÑ €¢ ШЩЪЭЮ ΣΦΞΩαβ אבג"
- and select different fonts from the list on the left /start with Arial :)/
Fonts what are contains the tested characters will show ok = others will not. For example, the above text on my fontbook:
For my Arial font shows: 
but for another font shows clearly bad characters: 
When you find a bad font - try disable it - restart Mail.app and check the message again. If simple disable doesn't helps - maybe you will need clear the font cache - check this site for how to...
Warning: NEVER disable System fonts!
Always check the (Preview->Font Info (CMD-I)). Never disable a font what show in the font-info Location in the /System/Library e.g.: Location /System/Library/Fonts/Helvetica.dfont
Another tip: try save the message in the "plain text" format, e.g. you will get "somefile.txt" (so, without any formatting) - and try open it in the TextEdit and try set different fonts...