For your numbers (and assuming you want to spend your time teaching and not server admining
, I'd recommend either hosting by a partner from Moodle.com, or contracting with a Moodle.com partner to remotely administer a local server.
The main benefit of a local server is that you will be able to move more large files around more easily, even if you have a fast connection to the web, and your hosting company is fast, your files are going to go all over the world between you and your remote server. If most of your students will be accessing the site from the school, then it's ideal to have a local server.
If most of them will be accessing the site from home, it doesn't matter much whether the server is local (at the school) or remote.
I see you like Apples, a reasonably powerful MacOSX server (with LOTS of RAM, don't skimp on the RAM) should be fine for your numbers (assuming they are not all going to login at the same time).
Get Applecare for minimal worry. Talk to your apple rep., rumor is some of them are even capable of delivering a server with Moodle all set up and ready to go
.