The problem you are having is that Firefox doesn't support the "disable-output-escaping" attribute. The reason it works in Internet Explorer is because IE creates a temporary string of your transformed value and then re-parses it as HTML, whereas Firefox doesn't.
If you left your XML as:
<Contacts>
<Contact>
<Description>Line 1 description<br />Line 2 description</Description>
</Contact>
<Contacts>
Then replacing xsl:value-of with xsl:copy-of would give you the result you want. Generaly, if you can, then you would want to stick to server-side transformations instead which would mitigate the problem.