Thanks for the help, Peg. I just now found the time to give this a try.
I tried your bit file and sure enough, it works. That's a relief that I didn't kill my DEMO board! In your program, SW1 only turns on LED1, nothing else. Was that to throw me off?

In looking through your code, I noticed that you allocated the SOPT register all at once. I had been doing it bitwise in C as such:
SOPT1_COPE = 1; // COP enabled
SOPT1_BKGDPE = 0; // Change PTA4 from Background mode to output pinI read in the datasheet on page 68, that SOPT is a
"write-once register so only the first write after reset is honored... Any subsequent attempt to write to SOPT1 (intentionally or unintentionally) is ignored to avoid accidental changes to these sensitive settings."
This explains why my code wasn't working. I had two write attempts in my code. I've replaced those two lines with:
SOPT1 = 0b11010000;This now works fine. PTA4 is alive, hurray! But this leads me to a certain amount of frustration with Freescale's C header file for the MC9S08QG8. They have a structure defined for all the individual bits in the SOPT1 register. Those are fine to use if you are only writing that one bit in the whole register. Note to self:
read the datasheet for every register!