Thanks to NEWTUNER for a great write-up and the time it took to put all the pics together.
I used the described methods to replace the starter on my 2004 330ci ZHP with a 6-speed manual gearbox, with a few differences.
1. I did not have to remove the mysterious device in step 12. There was nothing in the way.
2. I don't have the superman arms it takes to pop the top starter bolt loose with a 3/8 spanner, or the patience to. It took quite a bit of torque to remove either starter bolt. I used a set of Craftsman wobbly extensions. The trick is to assemble the extensions as pictured below and place them on top of the gearbox. Either have a friend help or put your left hand up and over the starter to guide the proper torx socket onto the bolt head. Swing the rear of the extension down to engage the ratchet. You may optionally use a large-sized spanner as an extension lever to apply generous torque. Just remember to keep forward pressure in order to keep the socket seated. Once you pop it loose it takes no time to remove the bolt.
3. It was extremely easy to remove the starter once the bolts were off. It could attributed to my Southern vehicle which is amazingly clean underneath. Those fearing removal in the future may apply a very thin layer of anti-seize compound.
4. In step 6, to remove the plastic master cylinder protector, push the vacuum and electric lines towards the firewall. Rotate the plastic piece forward and it slides out without much fuss. Also push the lines toward firewall when installing.
5. Connect the small wires to the starter BEFORE you rotate it into place. This way you can see what you're doing.
7. You can jack the car without using ramps. Jack the rear end first and place it on proper stands to give your self access to the front central jacking point. Using a jack pad is highly advised.
8. Finally, and most importantly TEST YOUR FAILING STARTER BEFORE YOU DO ANYTHING
. Use a tester or a voltmeter to see if the starter solenoid is getting voltage when ignition is turned on. This can be done from under the hood while your friend turns the key. Test the small posts, not the big one. I forget now which post it was, but one of them should give you voltage. If you get voltage but no starter engagement, your starter needs replacement. If you get no voltage, look elsewhere. Also, if you can PUSH START your car with ignition on, you don't need a new key; many other posts suggest a new key for a no-start condition. Push-start obviously works on manual transmission cars only.