I have never required line numbers while programming Mathematica EXCEPT in one particular important case: when writing a package in a notebook that then gets converted to a '.m' file (which is plaintext). If one makes some sort of syntax error like an extra comma or such, then when one goes to load the package there will be an error message about the syntax error, and the package will fail to load. Unfortunately, however, there is no mention of where in your package the error might actually be. If one has a large package then this clearly becomes an issue.
There is a workaround, however. Parallel kernels do have some magic ability to tell one the exact line number where syntax errors occur. If one does e.g.:
ParallelEvaluate[Needs["myPackage.m"]]
then each and every one of the kernels will return a message with the line number of your error.
It would, of course, be nice if this were just the default behavior without having to do this workaround.
B