To be more precise, rm removes references to objects from the filesystem, where those objects might have had multiple references (for example, a file with two different names), and the objects themselves are discarded only when all references have been removed and no programs still have open handles to the objects.
So yeah, your unlinking analogy is pretty good. If you have multiple hard links to a file, the data won't be marked ask discardable until all links are gone (symlinks don't qualify, hard links only).
If you have backups, it might be a good idea to do some md5 or sha1 hashes on the backups and your home directory, and diff them to spot any changes, but as long as you restored teh missing files, the files that stuck around shouldn't suffer any corruption.
As always, YMMV.