A bug bear of mine is that when you update or upgrade Ubuntu, it leaves all sorts of junk in the Grub menu and screws the default setting.
The solution is easy, boot into Ubuntu, open the menu.lst (sudo gedit /boot/grub/menu.lst), find “#howmany=all” and change it to “#howmany=1?. Then run “sudo update-grub” to update changes. Next time, only newest kernel lines will be shown. This works even if you have other OSes installed as it leaves them alone.