In a production environment, its normal for all errors to be supressed.
correct, but normal testing environment would work with E_ALL and remove as many notices or warnings as possible by fixing
the error/notice/warning ,not by hiding them.
In the example of this thread we have a session getting started from ...somewhere... surely its best to track that down and find out what else that page is doing that it should not be ? the end result is probably harmless here, but when you start debugging you need as much info as you can get and not have it hidden.
My advice (now, since I used to be of the same opinion as yourself) is to turn on E_ALL whilst testing and only suppress with '@' when you know why you are doing so and when the alternative is not desirable.