Is there anyway to monitor API calls on your system in C?
Check this question which mentions some programs to monitor processes http://stackoverflow.com/questions/299261/hook-processes
Although it isn't free, you may want to look into API Monitor. It has the ability to log to XML files, so you could determine the APIs that have been called by reading this file in your application of choice.
Another tool to look at is ProcessMonitor from Mark Russinovich. It doesn't monitor all api calls, however.
The Debugging Tools for Windows package includes a debugger extension called logexts.dll which can log Win32 API function calls. It also has a separate front-end program called logger.exe for when you don't want to attach the debugger.
On a function-by-function base, you can use Microsoft Detours. It intercepts API calls by rewriting the function entry points to point to your code.
The best api monitor tool (Auto Debug Profressional) can help you to do this. It can monitor all api calls.