All you're doing is setting the field to visible or visible, you'll need to set the field value to null if you want to "clear" it:
function HA_OtherText()
{
Xrm.Page.getAttribute("ha_other").getValue();
if (Xrm.Page.getAttribute("ha_other").getValue() == true)
{
Xrm.Page.ui.controls.get("ha_othertext").setVisible(true);
}
else
{
Xrm.Page.ui.controls.get("ha_othertext").setVisible(false);
Xrm.Page.getAttribute("ha_othertext").setValue(null);
}
}