If in PHP I do a
$result = $cm->subscriberAdd($email, $name);
-and the list to which I add the subscriber does not have a Name column, then it returns a Server Error.
Not very graceful - any (simple!) ideas? (I want to let my users choose which list to add the e-mail to).
Must I somehow check the available fields for each list before posting, and how do I do that?
Every list has a name field by default. It's up to you what you do in the case when you don't want to pass in a name.
It would be helpful if you actually provided the input and output of the call you're making when you ask questions like this. Without seeing this detail, people are unlikely to be able to help you.