Well, here are some more possible issues....
1. Are you sure the redirect to the English page is a 302 and not a 301? As Dr Peter suggested - check the headers.
2. Google has said that in cases where it believes the 302 is a mistake it will treat the 302 as a 301....if this is the case, there's really nothing you can do, besides getting rid of the 302 and using a meta refresh instead. The meta refresh is commonly used in situations like yours, and while not a perfect solution, it would seem to be better than using a 302, which is typically not a good solution at all anymore. I'd bet this is your issue.