I had this same problem with my players, taking 10 on Spellcraft checks to learn any spell they came across, so I came up with a reasonable solution.
You can only take 10 to learn spells of one level lower than your highest level spell. So a 5th-level wizard could take 10 to learn 2nd-, 1st-, and 0-level spells, but would be required to roll normally for a 3rd-level spell. Once he reaches 7th-level, he can take 10 on 3rd-level spells as well (but not 4th-level).
And you can't take 20 on these checks... because if you fail, you can't learn the spell, and taking 20 assumes failure until you take the required amount of time.
One of my players asked to take 20 on a Disable Device check... I handed him the 3.5 book, flipped to the take 20 rules and told him to read them carefully, then tell me if he wanted to take 20 with Disable Device... after reading it three times, he said yes, and was killed by a poison trap he set off.