No, not reliably. The number of cycles that it takes to increment a register can vary between different types of processors, and you also have to include the overhead of looping. In any modern operating system, you're going to have to deal with preemptive multitasking, so you have no idea how much CPU time the process scheduler is going to give you. Depending on how much work other processes are doing, you may get a lot or a little CPU time, so the number of register increments you can perform per second is highly variable.
Furthermore, in a multicore environment, the clocks may not tick at the same rate. If your process gets moved between cores by the scheduler for some reason or another, your clock rate could change unpredictably.
There are much better ways of getting the clock rate, such as asking the operating system for it (of course, how to do this varies with OS).