nope, it was exactly like stated in point 3 of your instrucion, with -c flag (complete-insert)
I don't know how, but your dump is using the extended INSERT format, with multiple tuples per INSERT, instead of the 'simple' format with just one tuple. Maybe your global settings for mysqldump are setting that extra option, or you have a personal .my .cnf file with that option, but I'm pretty sure this is the real root of the problem you are facing (maybe there are others too down the line, but the error message you posted is what makes me think this way).
I would try making mysqldump creating a dump with 'one-line' INSERTs first of all. Then try feeding that to PostgreSQL.
you wrote "we had to loop through 5 and 6 several times, correcting the offending data in postgres.dump where possible, or 'fixing' the table definitions in MySQL to make them compatible with the postgres ones"
Yeah, but these were either things like content having quotes in a way incompatible with PostgreSQL or mismatching table definitions (where MySQL had a field Postgres didn't have --that wasn't used at all in the code, but made the import fail--, or similar things). At least this is what I can remember of.
Also we're trying to put this dump into pgsql8, not pgsql7 - but IMO it shouldn't cause this kind of errors.
I agree with you.