The biggest problem came next. As he tried to connect the drive shaft to the new differential, the drive shaft was actually too short, and wouldn't reach the diff input.
Upon further research, he found out that the 330 was the ONLY E46 to use a different drive shaft design. It was a 6 bolt CV joint attachment to the differential, opposed to the 4 bolt conventional U-joint attachment on every other E46.
This was a problem, because the design of the drive shaft was completely different. The drive shaft on the 330 was not nearly as adjustable as the other E46 drive shafts. That means, he tried to loosen up the connection between the two halves, and stretch it out (it's a spline) to no avail.
His only choice at this point was to buy a drive shaft off of another E46, to be safe since ALPIN3 already did it on his 323, he bought one off of just that. $80 shipped to me from once again, www.car-part.com
As you can see, the 323 drive shaft is a 4-bolt connection and is longer from the factory.
He adjusted the 323 drive shaft and elongated it just a bit. You can do so by loosening the highlighted cover and pulling the two halves apart. There is plenty of room to do so, he pulled it out an extra inch with no problems. But just to be safe, mark each end with a sharpie.
He drove it in both manual mode and regular mode, and the car has no problems with downshifting or anything computer-related as we once feared. The only thing was, during the first test drive, the computer would freak out and shift at 5000 RPM. After doing the computer reset trick with the key, the problem went away, and the car shifted perfectly.
-A 3.91 from an X3 will fit the E46 with NO problems whatsoever.
-Output flanges will have to be swapped as the X3 has smaller ones.
-Input flange will not have to be swapped.
-330's will need a new drive shaft off of any other E46.
-If you have a 330 and you swap a Non-330 drive shaft on, you WILL need new bolts to attach the drive shaft to the diff. You'll need 4, BMW part#: 26111229536