Colin; interesting & have to wonder why Eval does that. I understand that Eval invokes the expression service message box instead of the vba message box function but that doesn't explain why it bolds text. Have you ever tried to bold individual words in the message by wrapping Eval's in Eval's? Wondering if that could reproduce something like:
My dog does not have fleas!
EDIT - I'm thinking not. Eval function cannot accept a simple string argument. In the bold message box code, Eval is being passed a function (msgbox) which is handling the string. Perhaps if there was a function that would accept a string without modifying it, a nested Eval might work. What comes to mind is Left("does not",8).
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.