Well, I got it working! Turns out my trouble was two fold. First, I had been setting my terminal to append \n\r (CR/LF) to the end of commands based on UPI's suggestion a few posts up. (You may want to edit that in case others stumble upon this post in Google like I did.)
Secondly, I was checking for signs of life with the STATUS? command, which doesn't do anything unless the output is turned on.
So, I plugged it in to my Mac, opened up Parley (a serial terminal app) set it to not append anything and sent it VSET1:5.50 and, sure enough, it worked!
Now, I know earlier in the post UPI mentioned that the BEEP command doesn't work and I did get the same results. However, the STATUS? command *is* reflecting the status of beeper as toggled on the front panel. It is not, however, reporting the status of the lock command.
At first I was confused that STATUS? was throwing single ASCII characters back at me, but then I realized STATUS? just reported as an 8-bit byte and my terminal program was interpreting that as an ASCII character. (Afterwards I remember that was actually what this thread was originally about!)
So now I'll be able to control the unit from my Raspberry Pi, so thanks for that! I'll be writing a little program in Python (with a GUI) that will give you a simple front-panel interface to allow you to see and set the voltage/current, in addition to feeding it a CSV/TSV file of voltages/currents to play back. The plan is to make the file input compatible with the log files from QtDMM, so you can record voltage measurements with any inexpensive QtDMM compatible multimeter and play them back on your Korad programmable power supply! Pretty neat, eh?
Oh yeah, one further question. Is it possible to control the OVP/OCP setting over serial? I didn't see a command for that in the communication protocol PDF.
Edit: I know it's possible for at least OCP, as there's a button for it in the OEM software. Worst case scenario I'll just use some serial sniffing software I found in the VM.