Actually, if I want to start using my “safebit” coin, I don’t want my bitcoin transaction history (which dates back to 2011) to show up in my “safebit wallet”. I didn’t trade “safebits” in 2011, and showing otherwise would be confusing.
A hard-fork is typically based on the same code base, with some adjustments that break away from the consensus of the main chain from a certain block onwards. Everyone who had coins in the main chain will have the exact same amount in the new chain.
A totally new code base cannot fork the entirety of an existing blockchain because the old blocks would not be valid under the new code rules. If you want the old blocks to be a part of the history, you need at least to have the old code somewhere in the client too so that it can independently validate history since the genesis block of the old chain.
What you might want is history from the point in time of the snapshot onwards, in which case you call bitcoin block #XXXXXX the genesis state of your new coin, hard code all the bitcoin UTXOs at that point into the client, and start the new coin’s history from there.
There might be a case to call that a hard-fork, since all the old funds are allocated in the new coin, regardless if the old coin users claim them or not. But like I mentioned, it’s not typically what we call a hard-fork. Definitions do change over time though.