I'm very late to this party but:
As your American friend told you, some dialects of American English have the same pronunciation for all three: "Mary", "marry", and "merry".
Some dialects, like Grant's below, have "marry" and "merry" together, but "Mary" separate?
Some dialects, like mine, have "merry" and "Mary" together ([ɛ]), but "marry" separate ([æ]).
And some have all three distinct: "merry" ([ɛ]), "Mary" ([e]), and "marry" ([æ]).
And that's just the US! I'm sure there are plenty of other ways to cut that pie up. :)