Problem: iMovie occasionally writes bad data to the Project File. Many people have reported that it happens more often after emptying iMovie's trash.
Solution: To fix a corrupted file, open it in a text editor (use BBedit ) and look for data that doesn't make sense. I found this in my corrupted file:
Frames: 13 In:-31 Out:-18
Negative locations are impossible in iMovie, so I suspected that was the problem. After looking over the other data, I was able to determine which numbers should have been written for In and Out. subtract In from Out. Your result should be the same as the number of frames; for example: Frames: 14 In:128 Out:142. If the result is different, you've found the problem. Change the In and/or Out numbers and save the file.
There may also be empty file references (nothing on the line that starts with File:)
Music: 20.Raj/Julia in car/1 - Audio File: Selected: 0 AudioInfo: 3135 12.245579 0 Frames: 367 In:27 Out:253 FileType: 00000000 () Volume/Fade: 33 1 1 FadeIn: 36 FadeOut:136 Type: 2
Solution: delete the entire file reference, in this case 9 lines of text.
If you edit (and save) the project file, iMovie may be unable to recognize it as a project file. You can fix it by using Lennart Thelander's File Fixers for both OSX and OS9. When you are complete it is also a good idea to remove the reference movie (named project name.mov) that exists in the project folder.
If your really stuck, look around for Karl Petersen on the Apple iMovie Discussions he is the expert in this area.