hmm. that's quite a question u have. what i am thnking is for u to use a script that will check the kernel version after booting (by evaluating 'uname -r'). and if it is ur temporary kernel, it will then change the 'default' option in your grub.conf file to make it boot ur 'good' kernel. grub-install doesn't need to be re-run after making changes to grub.conf so the easies way i'm thinking is that you have two grub.conf files say, grub.conf.good and grub.conf.temp which ur script will copy to /boot/grub/grub.conf. 'am not good at scripting so u might ask somebody about it (check another LQ forum).
or, check the fallback option for grub. never tried using that before.