Ah typical me, when I'm about to play a game with trainer, it's outdated. There has been an update on L4D2 recently on 8th of january:
Left 4 Dead 2 - Update - Fixed several rare but persistent crashes: - Round restart in No Mercy map 1 - Witch eye glow particle system - Chainsaw pose parameter update - Common Infected post data update - Scavenge mode scoreboard - Fixed text input not working correctly in Hammer model browser search field.
If you start L4D2, open the console (~) and type "version" without the quotes it will tell you which version you are running. For me it shows... Version 126.96.36.199 (left4dead2) Network Version 188.8.131.52 Exe build: 10:16:58 Dec 27 2013 (5515) (550) ... as of Jan.25 2014. The current trainer (patch 01.01.2014) is working for me on single player, even expert with realism. Windows 7 x64 and Steam version.