what you need, based on your requirements, is a CP600BMW... It takes a 32G SD card, plug-n-play in place of your factory CD changer, and voila!!! you still have your factory HU, and you have gazillion songs on an SD card
CP600BMW - inovative MP3 player CD-changer replacement