Right, I've now had a little more time to investigate. I hadn't used ffmpeg before and wasn't familiar with all the options, so I just used the parameters I found online. Although the resulting output did indeed remove my distortion, on further listening it introduced other problems. In the section which was previously distorted there were traces of artefacts - not very noticeable to the untrained ear but clearly there if you listen closely. Secondly, it seemed to introduce some kind of AGC - a section that had a voiceover on top of countryside sounds with birds twittering muted the background sound whenever the voice spoke, which sounded very unprofessional indeed.
I looked more closely at the output from ffmpeg. The original audio as output by PD is 384k AAC. The replacement file is 1536k WAV. But ffmpeg saves the output as 128k AAC. So I started investigating ffmpeg's options. I found that changing the audio codec from libvo_aacenc to aac (which is describes as 'experimental') did the trick and the output now no longer has distortion, artefacts or AGC effects. It still encodes at 128k and although there are options to change the bitrate I got a "sample rate not supported" error for everyting I tried.
However, the fact that ffmpeg can produce a good result at 128k that PD can't manage at 384k suggests that there is something very seriously wrong with PD's audio output algorithms.
The command I'm now using is:
ffmpeg.exe -i input_video.mp4 -i replacement_audio.wav -vcodec copy -acodec aac -strict -2 -map 0:0 -map 1:0 output.mp4
Alan