There is no doubt that the agreement is going to be controversial. It already is. But if the United States is even half serious about its GNEP program, it has no choice but to work with Russia to make the fuel take-back arrangements, which are important part of the program, work. The United States may want to supply fresh nuclear fuel to other countries, but it is certainly not ready to take the spent fuel back. GNEP people say quite openly that it's not a problem, since Russia will be willing to take that fuel for interim storage (and, potentially, for disposal). But this would be impossible without the cooperation agreement. Given that the administration seems to be serious about GNEP, I'm not at all surprised it moved ahead with the agreement.
What is not controversial about the agreement is the Iranian aspect. It is widely believed that the nuclear cooperation agreement gives the United States an important leverage in constraining Russian nuclear assistance to Iran. But that assistance is not really a problem (and has never been) - of all nuclear issues in Iran, the construction of a power plant in Bushehr is probably the last one. Besides, the Bushehr project apparently does not give Russia any leverage over Iran, so the United States gains nothing by having a leverage over Russia (if there is indeed a leverage).
Overall, I think the Bush administration realized that there is no link with Iran there and that if the United States wants to advance its GNEP vision, it simply needs an agreement with Russia.