No, H&P didn't, but I did. Remember, the 3.9 shell is not by H&P and was only contributed to H&P under a separate contract. The reason why IconEdit is the one from 3.1 is because H&P did not want to contribute reaction. Thus, yes, the Os 4.0 shell is pretty much the one from Os 3.9. I don't know how many fixes I made later on where integrated into the 4.x release, but I made sure that Olsen always had access to my code.
If I remember correctly, we had to start over from scratch for OS4, regarding the components which make up what is commonly lumped together as "the shell".
Those components are 1) the user interface which you use to enter commands, edit command lines, perform copy & paste and which displays the output of commands, and then there is 2) the part which loads and runs these commands. These are Kickstart modules named "con-handler" (1) and "shell" (2).
The major reasons for starting over were in portability (ViNCed was written in 68k assembly language, and would have had to be reimplemented), and the unresolved limitations of the "shell" Kickstart module which, for example, in Kickstart versions 2.04 through 3.1 had a fixed upper limit for the length of an individual command line (the OS4 version has no fixed upper limit).