Can't see anything obviously wrong with it. Are you running it from the command line, or within ArcMap as a python tool? Does it spit out any information, or just crash?
I have tidied it up (Model Builder produces pretty awful code), can you run it now and tell me if it fails too?
I also added an arcpy.AddMessage() which will tell you the current test it is running, so you can establish if it is one particular test that is causing the problem...