I trust you got a FreeBSD LiveCD to try that out?
sysctl is mostly a *BSD tool. Linux has it, but its very limited.
Linux relies mostly on /proc for getting system information.
The big difference between sysctl and /proc is that most /proc nodes are read-only and it isn't common to see someone setting system features by doing 'echo "some" > /proc/thing'. Sysctl is designed for not only retrieving system settings, but also setting them ... hence, why you don't need to reboot your system to set the min C# state.
From a programmer's perspective sysctl() is awesome while /proc is awful...nobody should ever have to fopen(), fread(), and do string parsing to get system information.
And to re-iterate for anyone who missed the implications of this post: BSD is not Linux, Linux is not BSD...they aren't related in any way, except they both feel like UNIX.