Hi David,
Yes it needs to be true in layout.master
No, it doesn't propagate beyond layout.master so if the page load event in one of your controls is firing twice the cause must be internal to the control.
Note that if you've copy/pasted code from elsewhere in mojoportal code when starting your own controls, I typically do use AutoEventWireup="false" and I wire up the events in OnInit.
So if your .ascx file has AutoEventWireup="true" but you have the events also wired up in OnInit, then it will fire twice. So my guess is you do have it wired up in your code behind and you just need to remove that code.
Hope that helps,
Joe