and I dont have any hard data to back it up is that during an install we register to use the DLLs (and etc) of the current .net framework version.
If you remove that version then the DLLs that the SEP client are trying to use aren't the same one that is registered and can fail in some awkward ways.
That is why 'repair' through add/remove programs cures the problem, we re-register which version of .net we are using to the new, current version on the system.