After some experimentation, I figured out what happened: I switched the default email client from Sparrow to Mail using Mail's preference panel:
Apparently this switches the application for the mailto: protocol, but not for message:, nor for .eml files. The solution was to use Sparrow's preference panel to set it again as the default email client, and then disable it. Then Sparrow correctly sets all the protocol handlers back to their default values.

