grub distorts default selection during kernel upgrade
1. install ubuntu and setup your grub config so the grub main menu shows:
A) Ubuntu major.minor
B) Ubuntu major.minor (recovery)
C) Boot other OS
2. Then configured the cursor to be on alternative C) on default so that pressing ENTER or waiting for the timeout will actually boot the other OS.
3. Use Ubuntu for a while until a new kernel comes along (dist upgrade etc)
Grub should add the new kernel version plus a recovery boot option for it at the top but the default selection should still be the same as originally configured (alternative C in this case).
When the new Ubuntu kernel is added to the grub menu it makes my old ubuntu kernel the default booting option because grub uses a hardcoded index to say which item is the current default item.
Note: grub offers the ability to to configure "default saved" and mark one particular item with "savedefault" but this facility does not seem to be used by default in ubuntu. When we upgraded our mothers machine her default was distorted and there is no way she could have fixed this problem herself.