Hi Martin,
I suspect that might be because you're in inner scope, and fr-error-dialog is in the outer scope. Maybe try something like:
<xf:action event="DOMActivate">
<xf:dispatch xxbl:scope="outer" name="fr-show" targetid="fr-error-dialog">
<xxf:context name="message">An error occurred...</xxf:context>
</xf:dispatch>
</xf:action>
Also, note that looking at the orbeon.log with "development-level" logging (see below) should help in cases like this, as you'll see there what happens when you click on the trigger. Was the event at all dispatched? If it was, did it then fail to find fr-error-dialog?
http://doc.orbeon.com/configuration/advanced/xforms-logging.html#development-configurationAlex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet