^ REST allows residual heat from the engine to filter into the cabin while the engine is off to keep the car warm without keeping it running. It's useful for people who might for example jump out of their car briefly while it's cold outside and want it to stay warm for when they return shortly after, or for people who need to sit waiting in their car for a short period of time.
And yes, REST was replaced with ALL around 2010. But cars with an ALL button can be coded so that button works as a REST button (not sure if the reverse is possible). The irritating issue though is that there's absolutely NO reason that BMW couldn't have designed that button to serve both functions since REST is only used while the car is off and ALL is only used when the car is on. Maybe they just couldn't think of what label to use for such a button.