He had to die. znamená, že to byla jeho povinnost.
He must have died. znamená, že se to zřejmě takto stalo
(jsme si tím jistí). Když se ptám Why did he have to die?,
ptám se tím, z jakého důvodu to udělal, jaká povinnost ho k tomu vedla?
Kdežto Why must he have died? vyjadřuju téměř rétorickou
otázku, jak to bylo zbytečné, co ho k tomu vedlo (ovšem ne povinnost).
S tím can't have liked je to trochu jiné, protože
nejednáme stoprocentně s modály, už je tam like. Jarmina
myšlenka je zajímavá, i když podle mě celá ta věta Why can't she
have liked the movie? nedává moc smysl. Protože tím can't
have liked vyjadřujete vaše domněnky, pocity, hodil by se tu spíš
question tag, ne WHY. Kdybych se měla zeptat “Proč se jí tenfilm nelíbil?
(vždyt byl tak zajímavý)” řekla bych to obyčejně s minulým – a
s příslušnou intonací.