The last time I looked into BBNC (which was two or three years ago), you had to do a two-fold approach.
First, you need to write an ASP.NET webservice on the BBNC side using their API to expose login. This may have changed since I checked it out. Poke around the BBNC forums to see what may already exists.
Two, you wire up authenticate against a non-drupal database. This is actually fairly easy. I would look at the LDAP module to see how it does things. It essentially hook_form_alter's the user_login form to add some additional validation, which checks the external database.
I would also poke through the BBNC forums to see if anyone has an LDAP, OAuth, or OpenID solution for NC. Then you can use one of the existing solutions. Those three modules are also good to look through for ideas on how to do the authentication.
The question that @indrock gives is also a good read about session management.