I just tried again.
Activated MPC-HCs internal MPEG TS/PS/PVA splitter, and played the sample Matt gave me (a 200MB cut of the start of the file)
If i use the .srt file with the subtitles 1.2 seconds earlier, it perfectly matches the Audio.
If i switch to LAV, the exact same timing.
I also checked MPC-HCs code, and i'm certain it does the same thing as LAV (making sure that timestamps start at 0, and not some random higher value).
Its possible that MPC-HCs behaviour changed in the versions since 3456 (i use 3965), but i doubt it.
Not doing this feels just wrong for me, sorry, not going to change.
I'm sure there would also be people out there that rely on MPC-HCs/LAVs behaviour, and changing it would cause them to come out of the woodwork kicking and screaming.
Its also certainly possible that most people just don't use MPEG-PS for storage (and external subtitles), just because of its inherently unpredictable behaviour, which is why such an issue never came up before.
However, without any data to suggest that, i'll just stick to how it works now.
Also, i don't care if VLC agrees, i know that MC and MPC-HC agree, as well as XBMC and most other ffmpeg based players/converters, thats enough for me.
Edit:
I actually downloaded MPC-HC 3456 and it still matches the audio perfectly.