Just an update for anyone having problems with L4D2 crashing to desktop a minute or two into gameplay, try this fix first. I did a search but couldn't find a reference to it, so apologies if it's a duplicate.
It seems for some reason it tries to read or write to the Windows\CSC\ directory (Client-side cache, used for offline files), and if it doesn't have access to it, the game crashes. Check whether your user account has access to this directory - chances are, it will say access is totally denied (even if you're an admin), and you have to override it in order to get in.
Just change the permissions on that folder so your admin and user have Full Control on it, and the game should run no problem. Subject to graphics drivers, validated game files, etc etc!
Hope this is useful to someone, perhaps sticky it up with other solutions?