Claudia I was just about to send this (below)when I read your post. So very sorry for overlap/duplication:
Sorry, OP - Giacomo or Jacopo/Iacopo is the name in modern Italian, not 'Giacomus'. Dozens of Italian men, past and present, really can't be wrong. Look at this list of famous Italians with the name Giacomo:
en.wikipedia.org/wiki/Giacomo_(name)
Are you really saying they can't spell or speak their own language?
Jacob (but in Hebrew spelling) is a Hebrew name. Jacobus (or Iacobus, with a capital I, since the Romans did not use J) is the late Latin version, and theorigin of Giacomo via an even later Latin variation : Iacomus.
www.behindthename.com/name/jacob
Yes, the dative of the Latin 'Jacobus'/Iacomus etc would have been Jacobo/Iacomo. The vocative of Jacobus/Iacobus would have been Jacobe/Iacome.
But that doesn't mean that modern 'Giacomo' is dative, because today, while the endings of Italian nouns still show grammatical gender and number www.cyberitalian.com/en/html/gra_na.html, unlike Latin, they no longer change spelling because of their grammatical function or 'case'. INSTEAD prepositions and pronouns change to reflect the function of Italian nouns in a sentence:
omniglot.com/language/articles/italiangermanenglishcases.htm
pollylingu.al/it/en/cases
Hamish is not a Gaelic word. It's a name in the English language. It does not obey Gaelic (or Latin) grammar rules. English words only change their spelling in the posessive case (apostrophe plus 's' - 'that's Hamish's dog' ), or to show singular or plural, (we have two Hamishes in the class!) or occasionally to show gender (actor/actress - not relevant here.).
Yes, Hamish originally came from an approximation of the sound of the Gaelic vocative case of Seumas. But that's all. It's English.
Seumas is a Scottish Gaelic word, and does obey Gaelic grammar rules.
Seamas with a fada (as in your most recent post) is the Irish Gaelic, not the Scottish Gaelic, spelling.