Re: bp tags not working in plugins?
BuddyPress has functions to get most of the data that you need without globaizing the $bp. I think different people will give you different answers about globals, but the general idea is that the less you use them is the better off you will be.
BuddyPress wraps most of the return/echo functions for most content in the -templatetags.php files for each specific component. If you need data that isn’t available, you can always build your own function in bp-custom.php or whatever.
If you look at the built in BP functions, you’ll see that $bp is globalized a lot in those functions, so the answer to your question comes down to the nuts and bolts of how PHP operates deep within the core of it, and how globals are processed on a per library basis and at what point in the process it occurs.
Long story short, if it gets you where you need to be safely, it’s probably fine enough unless you notice a slow-down or something.