Ok, So part of this is exactly the problem. It's just very general which doesn't help you and that's no fault to @rusty503. He is exactly right.
I have run into this many of times on these vehicles since i am the electrical specialist at our dealership . Unfortunately I can't see the vehicle to test it so I am not going to say it is not a body control module failure. Because it absolutely could be. Do I think it is? No. But again I can't test it personally so I will not say they are definitely wrong. I will explain to you though why I believe it is wrong and what I think you should look for in case the BCM does not fix it. And please, If the BCM fixes it let us know. I really enjoy these types of problems and am interested.
The BCM uses voltage to keep it's memory (this is why it could be a bad BCM) When it falls below a certain voltage the Capacitors in the BCM discharge and this sends it into a relearn mode (telling you to roll the windows up and down, ect..) This is why I don't think the BCM is the problem.
I believe you have a voltage drop problem on one of your battery cables. This is actually an easy test and don't take long. Do a loaded voltage drop test across your battery cables. You need less than 0.1 volt across all of them even though 0.2 volts is acceptable.
If your voltage drop is higher on any of those cables or across the battery block (which is where I normally find the problem. Either a lug that's barely loose or a crack in the plate) replace it. The reason it's coming up with this is because during cranking the voltage drop is higher than normal. If you have (let's say) 2 volts of drop during cranking that means on a perfect battery your BCM would be seeing 10.8 volts and discharge the capacitors causing your vehicle to go into relearn mode.
Here is the catch. Your vehicle isn't doing it every day (which makes me think it is the battery block again..loose lug or crack) so you will not see the full drop. But anything higher than 0.20 needs to be replaced. This will fix your problem IF the BCM doens't fix it. Because again... I can't test the BCM myself. I just have my doubts about it... But it is possible.
If you need me to explain anything else, how to do the test or ect... Just quote me and ask so I get the message on my phone. If not i check here every few days. The Ad's are killing me and I don't really like to come here much anymore.