Correct - you do not need to even think about the initController method. That's called by CodeIgniter when the Controller is instantiated, and just frees you from having to worry about constructor arguments whenever you need to do something in your controller's constructor.
And the "redirect issue" in the controller constructor isn't able to be fixed as you cannot return another object from a class constructor. You can always use filters (once investigated and fixed) or the _remap method in the controller.