Use of check_admin_referer with theme options and options.php

You do not need to use check_admin_referer. If you are using the Settings API then WordPress handles nonce checking and saving data to the database.

In terms of data validation, the only thing you need to provide is a validation callback. This callback receives all inputs with name specified in the second argument of register_setting (I often use this name to store an array of all my plugin option – so I only register one setting). The callback is specified in the third argument of register_setting and is responsible for returning the validated setting(s).