It's far from nonsense. Everything that happens when you call a syscall nowadays is minimal compared to firing off interrupts to do the job. Memory operations are pretty cheap and the argument checking is probably only 20 or so instructions at most. A lot of the cost has gone away.
If you still believe this, run dtrace on some random programs and be horrified over how many syscalls are being fired off.