Manstraw, if you could develop that grading plugin as you described, it would be perfect. I'm telling you, give WordPress one year and some super-techie teacher will put together a customized theme that puts both WebCT and Blackboard out of business. Particularly for writing classes, where peer reviews and commenting is frequent, WordPress really excels.
Did you already see my site? Email me if you want access, b/c it's password protected. You asked how I'm managing assignments. Basically I made each assignment its own category, and then I have students select the category their assignment belongs to. Some students forgot to select it, so I decided to just set the default category to the assignment they're supposed to turn in.
Something that has proven to be invaluable is a little piece of code that allows the category description to automatically display above the category post.
<?php if ( is_category() ) : ?>
<?php echo $cache_categories[$cat]->cat_name ?></h2>
<?php add_filter('category_description', 'wpautop'); ?>
<?php add_filter('category_description', 'wptexturize'); ?>
<?php echo category_description(); ?>
<?php endif; ?>
I put the above right before the loop in my archives.php page.
If I need to change the assignment, I just change the description in the admin menu (manage > categories), rather than going into a custom page template and changing it. Very helpful.
Another helpful thing that I wished I'd looked at more is integrating the Ocacia Bar (Admin menu) at the top of the site. I realized in aftermath that my theme didn't really accomodate it, so I'll have to change that at some point. It makes it much simpler for students.