No, you will rarely need multiple versions of .NET for one program especially a small one- the only case where this comes into play if a program uses assemblies (DLLs) that have requisite earlier versions. And this becomes less of an issue in later versions as they are inclusive, i.e. 3 or higher, and you just install the latest version of .NET.
That said- on to the most reliable method I know. The question that comes closest to what you want is what version of CLR is required. This is a very intensive way to find out the information, so it requires a developer or a very technical person.
Install the .NET SDK (if not installed). You should have it installed if you have visual studio installed.
Run ILDASM and select the application. If from visual studio, you can open the visual studio command prompt and run it easily.
In search of ... what version of .net a program is usingLook at the Manifest Node.
In search of ... what version of .net a program is usingThere are two places you can look- in the application resources, there should be an indication of the .NET version. You can also look for the windows assemblies to see the versions. I've highlighted both below.
In search of ... what version of .net a program is usingThat should give you a pretty good indication of the highest version involved.