I can see why it might be annoying for someone to say "I'm Scottish" based on one distant ancestor, but is it really so annoying if people just say "I'm part Scottish" -- I think a lot of times, if someone is saying this to a Scotsman, they are just trying to find a way to relate, to express that their affection for a country goes farther than just a normal tourist.
My grandfather was from Yorkshire and while I would never say "I'm English", I know that when I finally go up to the little town he grew up in -- it's sort of the ancestral home of my dad's family, I'm sure I have lots of unknown cousins there -- I will definitely feel something more than if I was just a usual tourist.
I think people sometimes forget how recent most immigration to the US has been (100 years or less). I remember in middle school in new york, our class had to do some kind of geneaology assignment, and I swear everyone in the class got back as far as their grandparents or great-grandparents (people they knew) and then everything beyond that was lost back in Europe or south of the border.
What does American mean anyway? It's a nationality, not an ethnicity (unless you are Native American). I think it's natural for people to look beyond their citizenship for some kind of ethnic identity, as expressed in food or music or history or language or what have you.
I found it interesting coming over here and being told that to say "American" was arrogant -- that America included many countries on two continents, and for us to claim the word for our own country was offensive. (I really have heard this from a number of people, both Europeans and people from South America.) I take the point but what else can I say??? I'm United Statesian?