I didn't; the file extension doesn't matter and you don't have to use one at all:
Code:
hadd -m test item1 data1
hadd test item2 data2
hsave test noextension
hfree test
hmake test
hload test noextension
echo -a $hget(test,item2)
.remove noextension
Extensions like .hsh are for end user convenience, they don't affect how mIRC will handle the file/data internally.

- save/load in binary format if item/data contains $cr/$lf's
- the editor you open the file with may interpet these "special chars"; the display may *appear* wrong. You shouldn't edit hsaved data in an editor anyway - just in case you do smile