I have updated the original NXT 1.0 Line Follower project at nxtprograms.com to improve the original programs a bit and include a new "proportional" line following program. I also included some separate light sensor calibration utility programs and some discussion of light sensor calibration, as calibration can be a somewhat confusing concept in practice (although it can simplify your programs and/or make your robot more flexible once you understand how to use it).
Comparing this to my new NXT 2.0 Line Follower, with essentially the same program, I notice that it doesn't perform as well. I think this is for two reasons: NXT 2.0 programs execute faster than 1.x, and my older 1.x robot design is inferior. In particular, I think the light sensor is too far ahead of the wheels. Making the wheel track (left-to-right) wider would probably also help. Give a try at making it better!