[eluser]Pascal Kriete[/eluser]
Think of any old web application that you use on a daily basis.
What happens if you try to access your email inbox without logging in? Or if you try to change your preferences?
Most of the time, you'll be redirected to a login page. It's simply more user friendly than showing an error.
Now if it's an access level problem, that's a different story. Although most solutions will still redirect somewhere and then display an error message (passed through flashdata).
As for notices, your production system shouldn't be displaying notices, warning, errors or anything else that you didn't tell it to display. And with CI you don't need to echo a lot, so that won't be a problem. If you want to be totally safe, you could add exit; after your redirects.