After some more bug hunting, I think I've tracked this down - and the scenario would apply both sites we've seen this behaviour on.
I figured Freeform would be using a wordwrap value from an existing CI or EE class, and sure enough in codeigniter/system/libraries/email.php, there is the following code.
// Set the character limit
// Don't allow over 76, as that will make servers and MUAs barf
// all over quoted-printable data
if ($charlim == '' OR $charlim > '76')
$charlim = '76';
Guess what, the random characters were popping in at this cut off.
While in this file, a few lines further down I came across the following:
// Loop through each character in the line to add soft-wrap
// characters at the end of a line " =\r\n" and add the newly
// processed line(s) to the output (see comment on $crlf class property)
Then came the light bulb moment! We were using SMTP in the EE mail configuration, and to get this working, we'd had to add the following to the config.php file.
$config['email_newline'] = "\r\n";
$config['email_crlf'] = "\r\n";
So that seems to explain the '=' characters appearing. Obviously the quick fix is to the change the SMTP server, or use a different email config option in EE :-)