OK, I noticed a lot of dry soap buildup on the door gasket, so I cleaned that off completely and wiped down where the door touches the gasket. Then I pressed Heated Dry, Normal, Heated Dry, Normal and it cleared the code. I started it up and it's ran 2 loads successfully, but it stopped and gave the flashing light 7x again. Cleared the code and ran another load successfully. It could be that the door isn't being closed completely (we all have a habit of pushing on one side or the other) and a sensor may not be getting full contact.
I do notice that after I start a load, if I open the door a few times in the first 20 minutes and quickly touch the heater element, it isn't hot at all. But we do keep our hot water very very hot, so it may not need to heat the water.
I need to borrow a multimeter from work and remove the heating element and check to see if it is burned out.