I'm pretty sure the update process downloads media for all observations that have been updated, even if that media has not been updated. I suspect we could be smarter about choosing media to update by looking at the updated_at field of the photo and sound records and not re-download media that hasn't been updated since the updated_since value we used.