Resting Flintoff in my opinion would be the smart tactical move in the long term unless of course he is fully fit.
For the bowlers, if possible, I would drop Agarkar. He is bowling poorly, it is a horrible combination which is doing it. His arm has dropped and with loss of rhythm, he is releasing it late and this causes him to bowl both wide and short. The bowling coach should be able to help him to work on it but until then, he should not play. I am not sure about Munaf Patel, he still seems to not be fully fit and I am really not a fan of playing anyone who is even a smidgen unfit. Zaheer Khan too is a problem, from experience, playing with the flu is extremely hard since each ball seems to be draining and you overheat quite quickly too. I am not sure if India are changing their squad after four ODIs like England (I don't think so, but hopefully it is a possibility), but if they are, maybe they should look at someone like Irfan Pathan or Pankaj Singh from the Tri Series who can really hold their own as bowlers whilst extending the batting order, allowing for five main bowlers (including themselves).
For the batting, I am inclined to say India should go with the same batsman. The team managed 329 and that is without the use of Karthik or the lower order and Ganguly was in horrible nick.
The fielding of India should be their main concern. Munaf Patel can't throw (not that he is bad, he physically cannot overarm throw), surely this should be the fielding coach's main priority since turning every one into a two to fine leg can get you an extra 20-30 runs an innings and you simply don't want that. Yuvraj Singh is a class (or seven) above the rest, you cannot think of one fielder who is good or even adequate. Dinesh Karthik is agile but cannot catch and Powar is also quite good at fielding (although the catch tells otherwise) but all the others are diabolical.