The reset needs to be done separately from the actual change. There is a DIY for the service light resets, if you look in the DIY section I think it is one of the very top items right now. Most likely they just didn't reset the thing. Because of that, of course you would need to reset the computer yourself, though if you are still under warranty, don't. Then you lose your "free" oil change.
Regarding the car knowing, it uses an algorithm based on the last reset, a mileage interval of just over 15k, and then adds or subtracts time by your mileage.
Lastly, newer BMWs don't have dipstick. You can check the level by computer, but that's about it.