Grub Error 18 : "Invalid or unsupported executable format"
This error is returned if the kernel image being loaded is not recognized as Multiboot or one of the supported native formats (Linux zImage or bzImage, FreeBSD, or NetBSD).
This error is returned when a read is attempted at a linear block address beyond the end of the BIOS translated area. This generally happens if your disk is larger than the BIOS can handle (512MB for (E)IDE disks on older machines or larger than 8GB in general).
i used to remove the jumper & CMOS battery of motherboard whenever i got this problem
Which resets bios - this suggests that there is a setting in bios which is good in default but somehow drifts off. You can also reset the bios to defaults from the bios screen.
Have you seen:
Changing the Hdd mode to "normal" seemed to do the trick.
Your long-term symptoms suggest that your nv-ram (cmos) is failing. Save up for a mobo replacement.