Этимология тут достаточно прозрачная. От старославянского глагола "баять", то есть говорить-рассказывать. Вы, наверняка, знаете слово "краснобай" в значении "хороший оратор". Или сказочного персонажа Кота-Баюна, который заговаривает путников своим волшебным голосом, а потом безжалостно убивает и съедает.
Таким образом, "баю-баюшки-баю" это нечто вроде деконструкции заклинания. "Я теперь усыпляю, заговариваю, засыпай, я тебя усыпляю, я отлично это делаю, говорю же тебе".
Про Кот-баюна что то не понял, не знал о таком, я о нем всегда лучше думал :(
А как насчёт "баю"= "говорю"? Бает= говорит!
Теория N1 (от независимого эксперта)
Баю-бай - чтобы тебя ночью не забрал бабай
Теория N2 (от профессора древнегреческой филологии Тигра Тиграновича)
Баю-бай - в переводе с древнегреческого означает "бай то бай"