Skatt, I'd be curious what your experience with BulletX was?
The latest svn version I used didn't do at best, missed collisions, box shaped entities end-up standing on edges, well I could have some bugs in the code but merely switching to PhysX worked greatly.
No way want to take any inspirations away from you, but an opinion: doing a port means updating it with changes to the original, and BulletX looks like it deserves yet. But you could use BulletX right away if you'd use Axiom<->Xna conversion of math objects Matrix, Vector3, Quaternion and implement a BulletXPhysicsSceneManager (that derives from an existing one, e.g. the OctreeSceneManager) and handles a BulletXPhysicsSceneNode : OctreeSceneNode that cares for updating the underlying physics objects if there are any changes to its transforms. The BulletXPhysicsSceneManager would do the simulation step and peek results back to scene nodes, so both way data exchange should be ensured sufficiently. Then there don't need to be as many updates to project code, since you're more with the interface than the bug sensitive physics implementation.
Honestly, JigLibX prooved faster and simplier to use to me than BulletX, although less featured, however the demo they have is very nice imo, includes rigid body primitives, heightmap terrain and joints - you can drive a car on the terrain. Yet anoter choice could be PhysX, because it's blazigly fast and accurate compared to JigLibX/BulletX even without a HW acceleration and despite the 2 levels of
wrapping it (e.g. Axiom->Xna->PhysX native). Unfortunately it's not pure C# and you basically can't use it on other than desktop platforms.
2c