To explain the deal with hardlinks:
Hardlinks don't fit in well with a spatial metaphor, like aliases do. The reason for this is that while aliases are merely pointers to a file, hardlinks actually put the file in multiple places at once. Don't try visualizing it; I can't do it either, because in a spatial metaphor that breaks so many laws of physics that it's not even funny. One of my old college roommates put it best: "Euclidean space has been violated!" Or would that be Togazzinian space, in this instance?
It is, however, kind of neat, because it allows for some big advantages over even aliases. For one, it isn't normally possible to have an "orphaned hardlink" (that is, a hardlink which points to a file that has been deleted), because the hardlink is the original, just as much as the file which you'd originally hardlinked it to. As long as one hardlink to a file continues to exist, the file will continue to exist, even if the "original" is deleted. The file is only deleted when the last hardlink is gone.
There are some big disadvantages to hardlinks too, however. You can't hardlink a file on one disk onto another disk, for example. Worse, you can't make hardlinks to directories, because that would just completely screw up the filesystem hierarchy. Actually, root can make hardlinks to directories, but that's not advisable.
Ahem. Anyways, on to hardlinks and HFS+. HFS+ doesn't actually support hardlinks in the traditional Unix sense. OSX uses a number of interesting tricks to emulate hardlinks, and they work well enough, most of the time. But there are times when thost tricks fall apart, and OS9 is one of those times.