Re: bp_setup_nav not firing
The issue is that any BP hook that ties into the plugins_loaded event must be fired in the proper sequence. For some reason, the default of not setting any priorities–which is usually a safe way to approach adding to any action hook–misbehaves in this case.
More than likely the culprit is that a necessary support function (or two) gets fired out of sequence, therefor not providing the required support for the function in question.
So, for the bp-setup-nav function to work, its add_action call must set a priority that does not cause it to be fired before any need support function.
I have not yet created a Trac ticket as a I think more sleuthing is needed to determine the proper sequence, and therefore priorities, for all added actions to the plugins_loaded hook within BP.