I think what steve may be alluding to is that there can be a bit of a grey area when you start to include multiple processors with multiple cores, and so on. Depending on how the operating system handles tasks across these multiple processors or cores, and how the workload is split your definitions change.
These ideas aren't really set in stone. The ideas are evolving with advances in software. Software lags behind hardware. Less than a decade ago I think I would be telling you a very straight forward definition of multitasking, but today it is a bit different. Universally however you can explain this "good enough" in a few sentences, but you could really write an entire manual out on this subject.
I think to clear things up we can use a bit more analogies.
A kernel is like a translator. If you went to another country lets say France, and did not know French, a translator will take all of the complexity out of trying to understand another language, and looking up word after word. A kernel does the same type of job, it knows how to talk to low-level devices based off of high level application instructions. The kernel provides this as a "basic service", but to me its job doesn't seem so basic. the kernel does other things as well, but this is a good general blanket statement.
Your statement on multitasking can be extended outside of just a single processor.
Scheduling isn't just about who is first. Take for example two processes needing to be completed. One could start first, switch to the second, finish the second, switch back to the first, then finish the first. Take a look at some scheduling methods such as "round-robin" to get a better idea of different scheduling strategies implemented in operating systems.
If you have access to Wikipedia take a look at some of the pages on scheduling, multitasking, the kernel, and operating systems. This may give you a better general overview.