I think it is like this:
For -er verbs (group 2 verbs), the past tense form ends in -de or -te. Here, it should be -de, since the last letter of the stem "händ" is voiced. But we don't use the "ndd" combo In Swedish, so one "d" is dropped och we get "hände".
By the way, the "d" is dropped in supine too: det har hänt - it has happened.
Edit! Another example:
For "blöda" (bleed) it works a bit differently. Them stem is "blöd" and we add -de to get past tense "blödde" so this follows the rule. For supine it should be "blöd" +"t", but since we don't like the "dt" combo it's called "blött" instead.