Great advice, Guy... Man, you're picking that sucker apart! 
1) Correct.
2) Correct.
3) If I'm understanding you correctly, correct.
4) Correct. About the other route that you propose: I thought you could only have one sequence flow exiting a start event, per the Spec? (I know, I know, I'm talking about validity again; but I want my diagrams to conform to the Spec as closely as possible.
Plus, who knows, maybe someday I'll want to generate code from my diagrams. Or perhaps I read too much into Bruce Silver's 'valid' approach. It would make sense, of course, to do what you propose, just as if two sequence flows were exiting a task, which denotes parallel flow...)
5) Yeah, I put that together quickly more to illustrate how I was thinking of approaching the parallel stuff, so the tasks may be a little ambiguous. I'll make that part more explicit soon.
1) Yeah, that was because I wanted to prepare something quick just for show-and-tell.
2) Well, I wanted to indicate explicitly that the Accounting Clerk triggered the Programmer's process via e-mail, so that's the best way I knew how. I initially had the Programmer and Accounting Clerk in the same pool and in different lanes. But then I thought, 'Well, technically messages are being sent back and forth, so why not use separate pools for each Participant?' It just seemed to make more sense to indicate that the Programmer was triggered by a message event and then the Programmer responded with a message back to the Accounting Clerk. I welcome any alternative proposals here, of course.
Thanks again, Guy!!!!!!!
vinny