have you tried a div with a top border?
<div style="height:1px; width:200px; border-top:1px solid black;">
You could change the padding, width, colors etc to suit your page. This can also be added to the bottom of a paragraph, h1 tag etc if you want to underline something.
style="border-bottom: 1px dashed black; padding-bottom:0px; color:#c0c0c0;">Heading with dashed underline</h1>
I've used stuff like this a few times and have dropped using the hr tag completely