Update: When looking for the "C", "B", and "P" I noticed the little "R", "W", "*", and "A" in the track header. I moused over each one and saw that "R" toggled Automation Read on and off. I clicked that, and now suddenly the envelope is working.
I've been using Sonar for over a decade and never had to worry about the "R" button. Either it was always enabled by default, or got automatically enabled when I created an envelope. For some reason, it looks like either:
a) Sonar X2 does not automatically enable automation read
-or-
b) I accidentally turned it off (by hitting the wrong key at the wrong time)
Is there any reason
not to have automation read enabled by default?