Hi Ben! I'm doing some work on the Bluetooth stack in libogc, so I learned a few things on how the Wiimotes connect to the Wii; maybe some of this will help you better identify what the problem is. But first of all, I have to say I still didn't understand the problem: on the first post you wrote that all four leds stay on without blinking, and later you wrote that they are blinking. Maybe if you recorded a video it would be more clear.
That said, there are several ways through which a wiimote connects to the Wii (these are only those supported in libogc: it may be that there's more to it, especially about the Wiimote's power button)
1) Press any button on the Wiimote: the wiimote will immediately send a connect request to the bluetooth address that it is stored in the Wiimote's memory. When the Wii receives such a request, it checks if the Wiimote's blutooth address is saved in the Wii's whitelist (which means it had been paired before), and, if not, refuses the connection. I believe that the Wii is doing this even when it's switched off (but it must be powered, of course), so here's why you do see some different behaviour when the Wii is plugged in. Technically, this is bluetooth's "page scan" mode.
2) Press 1+2 buttons: this initiates a "guest mode" pairing, which is a temporary pairing that only lasts until the console gets switched off. This page explains how to set it up:
https://gaming.stackexchange.com/questions/7717/how-to-quickly-pair-a-guests-wii-remote I recommend you to try this out, to verify that your controller can work at least in guest mode. Note that this does not alter the list of whitelisted controllers in the Wii, nor the Wii address stored in the Wiimote. Technically, this mode sets the Wii in bluetooth's "inquiry scan" mode.
3) Pairing with the sync button on the Wii and on the controller: this again sets the Wii in bluetooth "inquiry scan" mode, but this time both the Wii and the controller will remember (read: store in their configuration) the bluetooth address of the peer: for the Wii this means whitelisting the Wiimote, and for the Wiimote this means storing the bluetooth address of the WIi, so that the connection mechanism described in the first point can work from now on.
My guess from what you have described so far is that the WIi address is correctly stored into the Wiimote, so that the Wiimote immediately tries to connect to the WIi when you press a button on it, but for some reason the Wii is refusing the connection; most likely this is because the Wiimote's address is not stored in the Wii's whitelist.
The reason wy you see a different behavour in homebrews, is that they use libogc. And pairing has been added to libogc only recently, so these homebrews are probably built with an older version. I do recommend staying in the Wii's HOME menu when pairing.
Please let us know if at least the guest pairing described in point 2 works.