Something that I have had to do on two of my older X5's recently is change cv axles and I personally always have a heck of a time getting them out of the differential.
I figured out a trick that works all the time now that might help others out.
What you need is a chain vicegrip oil filter remover. Looks like a pair of vice grip pliers with a chain attached. You can get them on amazon or most local parts stores. The things are handy for all kinds of stuff.
They look like this :
Then you need a piece of braided steel cable. I salvaged mine from an old dog run setup where you let a dog run in the backyard on it.
Last but not least a sledge hammer.
Now when you get to the point where your needing the get the cv axle out of the differential you take the cable and loop it over the chain on the vice grips. Now loop the chain around the cv axle where it goes into the differential. Lock the vice grips down.
On the other end of the cable make a loop and slide it down the handle of the sledge hammer so its looped right at the end. I like to set the cable up so there is about 7 feet of line between the sledge hammer head and the end thats attached to the cv axle.
Now pretend your playing golf and do a nice line drive swing. That axle will fly out of the differential every time.
Beats any tool method I have ever seen. Doesnt even damage the cv axle which I normally dont have much luck being able to reuse with my other methods.
Just remember think golf not baseball or lumber jacking. When you make your golf swing the cable should reach fully tightened at the same point on the swing where the golf club would contact the golf ball. Anymore than this and your going to launch that axle at your neighbors house.