I see code from developers using implicit date conversion. I would like a definitive answer to why they should not do this.
SELECT * from dba_objects WHERE Created >= '06-MAR-2012';
Allowing implicit conversions means you are at the mercy of location settings.
If you can name a business where 11 months is an acceptable margin of error I'll be impressed.
There are problems that will occur if a session with a different date format runs the code.
In this situation because each of the alter/insert statements could be done by different users. They would all be running the same statements, but the resulting dates would be completely different. The insert statements might be buried in a package that is only indirectly being called. Because no error was returned the problem might not be found until much later.
In this situation a malicious individual could alter there sessions date format in such a way as to give them access to data that they would not normally have access to.