I've just released WiiYourself!, a fully-featured native C++ Wiimote library.

It supports just about everything, including all Bluetooth stacks & audio. Source is available and contributions are welcome.

This marks the release of my totally-free & fully-featured Wiimote native C++ library.

Originally based on Brian Peek's excellent Managed Wiimote Library over at MSDN's Coding4Fun website (check it out if you need .Net support), I've since rewritten and extended it considerably:

What it's good at:

supports multiple Wiimotes, Nunchuk & Classic Controllers
reads battery level / buttons / acceleration / IR / triggers / joysticks (with deadzones)
estimates orientation (including Pitch and Roll)
can set LEDs & rumble (with optional async duration)
supports all Bluetooth stacks (auto-detects output method)
(experimental) speaker support (square wave & sample playback!)
threaded to multitask smoothly
extensive debug output.
Current limitations:

only runs on Windows (could easily be extended, contributions welcome)
needs more testing (join my mailing list)