I am not a native speaker. From my reading and verbal communication, I came to believe that striking a chord means connecting to someone at an emotional level. However, I recently used it somewhere and someone (an American, if relevant) told me that it actually means pissing someone off (quite the opposite of what I thought). Does it mean both or I just used the wrong expression? Or does it have different meanings in British, American and Aussie varieties?
It means to hit on a topic that is of importance to person you are speaking to. You can strike a chord either positively or negatively. Positively if you say something that impresses/flatters/connects (positively) with them. Negatively if you speak ill about something that is of importance to them or something that rubs them in the wrong way.
To me its like you can hear a great chord in music or you can hear a chord that is particularly distasteful.
Edit: I think its usually positive, but I've heard it both ways. You wouldn't call something that sounds bad a chord in music unless it was sarcastic, but it is done.
Strike or touch a chord (with somebody) means to say or do something that makes people feel sympathy or enthusiasm, e.g., the speaker had obviously struck a chord with his audience. I've heard people saying: "He struck the wrong chord", maybe that's what your friend was referring to, but I don't really know if it's right.
You don't say whether the other person was a native English speaker or not. Not that it matters as even native speakers can be mistaken. In a word, you are right. The other person is wrong. It does not mean to annoy (better than p.. off!). The person who said this was either wrong, mistaken or making mischief. Was it April Fool's Day by any chance?
'strike' means 'hit' and 'chord' is a string in a stringed instrument or a few notes in music and sometimes was used in a figurative way like 'heartstrings'.
'strike a chord' means literally 'hit a string', figuratively 'move your mind' and 'move your mind' can mean in a variety of ways depending on the context.
The phrase 'strike a chord' is usually used with 'in' or 'with' and 'strike or touch a chord with somebody' normally or basically means 'to make somebody feel sympathy'.
I also saw the following expression: To human eyes, these greetings strike a similar chord.
'similar' modifies chord and the chord's attribute is defined as 'similar', in this case it's not related to 'negative or positive'.
Language is not a science but a communication with the feelings communicated.
'Strike a chord' means 'stimulate something in your mind' in my personal point of view.
ps. I also saw 'strike a familiar note' somewhere. This could mean 'the chord' is not a string but is close in meaning to a combination of a few notes. So, if we think 'a combinaiton of a few notes' is similar to 'harmonize', then normally 'strike a chord with sb' means as dictionary explains.