This is an interesting question. Why shukran is always pronounced shukran is, I think, easier to answer. Shukran, although now very common in dialectal speech, is not an original dialect word, but a borrowing from fuS7aa. Although some dialects have various pausal phenomena, -an > -aa is not one of them: it is a rule that only applies to fuS7aa (because no dialects have case). So if shukran gets borrowed into a dialect, you expect it to stay shukran. (Which is not to say that you'll never hear shukraa - I think I have. There's nothing stopping people deploying their knowledge of fuS7aa pausal rules when using this word in everyday speech, if they're that way inclined). The same applies to any fuS7aa word ending in -an that gets borrowed. For example, various dialects tend to use jiddan/giddan quite a lot and I've never heard the -an pronounced as -aa there, I don't think. Ditto aSlan, etc. Maybe someone can think of a counterexample though. So it's really mar7aba that's the surprising one. I think the explanation there is that it's not a borrowing from fuS7aa at all. In the dialects where you find it, it's a genuine dialect word, and it's مرحبة not مرحبا (cf. mar7abteen), so the mar7aba pronunciation is expected.