Hi there and welcome to the forums. The problem could be stemming from the fact that while the NI8 module only takes up one physical slot it takes up multiple logical ones. Each channel will take up one word or 16 bits of memory. Since there are 8 channels that’s basically an entire logical rack (8 words) for just that module. Unlike standard discrete IO modules that take up only one physical slot/one logical word.
Depending where you’re placing the new IB16 and how you’re mapping it, it could be overlapping the logical slots of your NI8 which is why you’re seeing zeroes. Something to look into.