What's your point? He's a Spanish citizen, and he wanted to play for Spain. It doesn't really matter when he became a Spanish citizen, or why, because its clearly his choice.
The thing is, many countries fast-track athletes to play for them, even if they don't meet all the requirements necessary for "normal" people. I can see how that rubs some fans the wrong way.
Take Germany, for example. People say Klose is actually polish, but his father's parents were german, he moved to Germany as a kid, he had every right to play for the country. Morally, and by german law.
Cacau though, who played for them in 2010, was born in Brazil and lived there for most of his life. Granted, he also moved to Germany at the age of 18, and he was integrated, but people always had a hard time accepting him as a german national team player. Last week on german TV, when Brazil played, he flat out admitted in an interview that "now that he's retired, he doesn't have to pretend anymore that his heart still belongs to Brazil".
There's a lot of grey area here, so I don't think either side is 100% right. All you can do is accept the fact that these things are regulated by laws, and if said law isn't crossed, there's nothing you can do but accept the situation as it is.
Personally, as I'm not an overly patriotic guy myself, I welcome them all with open arms if they can identify themselves with the country and the team.