Yes! The environment variables!
Thank you! At first I couldn't imagine what you meant. I'm in a corporate environment with dozens of CUPS queues at my disposal. I even run the CUPS daemon on my local machine so I can create profiles for secret printers. The problem was either the LPDEST or PRINTER environment variable, both of which were set to the same value: a printer that no longer existed. I replaced both with the name of a still-valid printer, and now it works. Huzzah! Hopefully they'll fix it to either generate a nice error message or (better yet) bring up a printer selection dialog when the printer doesn't exist.