The buttons aren't working when you get to the error page from a partial refresh, right? Sorry, I haven't got round to blogging about this one.
When the error page is loaded from a partial refresh it just writes the content from your XPage to the browser. My understanding is that no XPages events (client-side or server-side) are passed to the browser if the error page was loaded from a partial refresh. If the error page is loaded from a full refresh, everything will work fine.
What you need to do is manually code anything with events as traditional HTML, so
< button onclick="window.location.reload()">Refresh< /button>
It may be easiest to create your error page as normal, preview it, view the source, then replace your xp:button or xp:link elements with the HTML from the page.