Andy,
We have 2 options now: authentication chaining and the other solution where we store our internals together with the externals in one OU in OpenLDAP. OpenLDAP is used for authentication in this second case but when an internal is found the password is looked up on Active Directory by using SASL and Kerberos.
Referrals aren't working but that's fine for now.
About the models… We are still deciding which model to choose for our OpenLDAP (we have an AD but want a new LDAP to store the external users). We wont use the AD model in OpenLDAP and the default OpenLDAP scheme doesn't allow empty groups. We are thinking to use the NIS scheme for OpenLDAP but this still needs some thoughts first.