Most any aftermarket alarm will work with the car running. You can find some more advanced alarms that have shock/motion sensors that will delay long enough for the car to stop running.
Find a competent Car Stereo/Alarm shop and they should be able to steer you right.
BTW you should never leave a BMW in a Grocery Store Parking Lot, unless you can not see the physical store from where you are parked
