The following functions has been changed in 4.x according to the MPI-2.1 standard: MPI_Cart_create() MPI_Cart_map() MPI_Cart_sub() MPI_Graph_create()
And constant MPI_MAX_ERROR_STRING has been changed from 512 to 1024. If your applications don't use these functions and constant then you don't need to recompile applications. You just need toset LD_LIBRARY_PATH to new location (note: directory structure is not the same).
If your applications depend on these functions you can set I_MPI_COMPATIBILITY=3 and run application not recompiling them.
Intel MPI library will be installed in another directory (so you'll have 2 different versions) and running mpivars.sh script from different locations you'll be able to change the library. So you can easily return to 3.x version if anything goes wrong.
Also I need to mention that in version4.0 Update 3 there is mpiexec (used with mpd) and mpiexec.hydra (used with Hydra process manager).I's suggest using of'mpirun' as a universal launcher (it will run mpiexec.hydra by default).