With RandR 1.2 the monitor and screen layouts changed a bit, and Xinerama became deprecated. It would be nice if the panel placement could be set according to the output names (VGA/LVDS/TV), and not the monitor number. (And the same with xfdesktop) With xorg-server-1.3 and xrandr-1.2 attaching an external monitor causes the panel to appear in the external monitor, because it becomes monitor #0. It's a little annoying when changing screen layouts frequently (presentation, working desktop and mobile computing).
Aha, I didn't know that. That does sounds like an interesting idea, thanks.
Reading the whole randr configuration makes the screen flicker (lock because of the edid information). The _not released_ Randr 1.3 api provides a way to avoid that. Secondly, the randr protocol is a bit more complicated then you might think. The VGA/LVD/TV names you've mentioned are indeed to output names, but the panel is shown on a crtc (render channels) and 1 crtc could contain 2 outputs... This is not a common situation, since you have 2 crtc and the driver tries to use both of them, but in a > 2 output situation it is possible. So it's not just saving the panel under an output name; there is more going on here.
*** Bug 5095 has been marked as a duplicate of this bug. ***
The new panel code supports settings an output-name. If none is set the panel will always be visible, when a name is set it will hide when the output is not enabled and show again when the output is connected.
Devel branch has been merged in master. A 4.7.0 release will follow soon. If you think this bug is not fixed? Feel free to reopen the bug.