The thing is england always had a huge amount of world class forwards, even a couple of years ago Andy Cole who was a world class player didn't get england call ups. There are several ex united players who were praised alot for their talent and work who hardly ever got called up for England.
There is only one thing to blame for the current situation. Foreign forwards.
Just check every teams primary attacking duo or trio, they are almost all foreign
Arsenal: adebayor
Blackburn: McCarthy, Santa Cruz
Bolton: Vaz Te, Diouff
Chelsea: Drogba,Malouda etc
United: Tevez, Saha (rooney)
Everton: Yakubu (johnson)
Fulham: Healy, McBride
City: Benjani, Castillo, Bojinov
Boro: Alves, Aliadiere, Mido, Tuncay
Newcastle: Martins, Viduka, Ameobi (Owen, Smith)
Villa: they have an english core
Portsmouth: pretty much english
Tottenham: Keane, Berbatov (Bent)
Not sure about the other teams but it's clear that foreigners take up the spots for english players. I'm sure there is still much talent but they don't make it because of the foreigners.