FYI an npn-pnp pair can level shift as well, the problem is the difference in potential where the cpu are referenced and the protection diodes on the io pins will clamp high or low (thus protecting).Is a FET needed for level shifting communication?
fwiw there is a lot of bms discussion and a fair amount of my own blather here:
http://www.diyelectriccar.com/forums/showthread.php/bms-design-guidelines-82646.html
though I should maket an update to the resistor network post, as it has a problem. And the current shifting version after this diagram should have better noise immunity.