I believe "what" should work technically, but grammatically "which" is the correct choice for English.
in this case there are not a lot of hats... it means you can count some hats, so you use WHICH
In Spain (at least in my region) this sentence would be "¿Qué sombreros son rojos?", not "Cuáles"
Which region are you from ? So basically spanish grammar is pretty much different in each region?
I'm from Galicia. And no, I don't think grammar is different in each region. You would hear "¿Qué sombreros son rojos?" in Spanish Television (TVE). You would probably hear "¿Cuáles..." in a Southamerican television, but I'm not sure where exactly :-) In any case, we understand both.
No, because in this case "sombreros" is the subject. Correct me if I'm wrong, but I believe that the sentence would then be "¿Cuáles son los sombreros rojos?" if the word "sombreros" was the object.
OP is a little right and so are you. The translation to English permits his answer. Moving it directly back to Spanish from his translation would require yours, but such is the difference between litteral and loose translations.
Because your answer is assuming only one of the hats are red. There might be multiple red hats. The answer might be, "The box on the right are red hats, the box on the left are blue."
Also, not very relevant, but... 'Porque' means 'because'; what you meant was 'why', which would be 'por qué'. ;)