Binary package hint: mountall
During Karmic's boot, if the automatic filesystem check fails, it drops the user into a root shell to do the fsck manually. After you perform the disk check and exit the shell, the boot script tries to remount the root partition with write access to resume booting.
This is really bad. e2fsck actually gives a warning that the mounted filesystem has been modified and Linux must be rebooted. If this is ignored and you just remount with write access, that will create filesystem errors right away again and could lead to data loss.
Typing 'reboot' instead of 'exit' also triggers the problem because the shell still exits and the regular boot process races with the reboot process. You have to run 'reboot -f' to restart safely and not corrupt the filesystem again.
If a (read-only) partition is modified by fsck, then you can't remount rw and resume. The system must be rebooted. The simplest solution is probably to unconditionally reboot when the recovery shell exits, and make sure nothing tries to resume the boot process in the meantime.