You could also do something in the reverse process.

Write a small log file out to a server and have an admin script parse that folder looking for files.

When it finds it, it would then run a remote admin script against the client to collect the data and input to SQL at that time.

Then the process would delete the file. You could even add other date or times flags in the registry in case you did not want to run it EVERY logon.