How to tell whether I need to keep a version of .net framework?
I suspect you won't find such a tool, but others may prove me wrong. I do think it helps if you realize that there are actually 2 major version into use right now, and that it's safest to keep them both: .NET 2 Framework and .NET 4 Framework.
There are still a lot of applications using the older 2 version that do not necessarily run wel on 4. So while you may uninstall it, you might find yourself reinstalling it again when you encounter such an application.
On top of that, I think it's also pretty safe to assume that 1 is largely deprecated and very likely to be unused. Only if you have legacy software from 10 years back, you'll need this one.
Furthermore: 3.0 and 3.5 are just enhancements on 2.0. So as long as you keep 2.0, there's no point in getting rid of these. Otoh, if you loose 2.0, you'll loose these too.
And to conclude: I have no experience with 4.5, but from what I read, it's an in-replace update of 4.0. So either you have 4.0 or you have 4.5.