Ok, I think I've finally worked out the answer to my own question after a quick skim of this document:
http://www.microsoft.com/en-gb/download/details.aspx?id=26226
I'm going to post what I did in case this helps anyone else.
After typing powercfg -requests, I got:
SYSTEM:
[DRIVER]: Legal Kernel Caller
The document referenced above describes this as:
"Finally, there is a mysterious system availability request that has been set by something called Legacy Kernel caller. This is from an application that is likely using the Windows SetThreadExecutionState function to set an availability request. SetThreadExecutionState does not provide a mechanism for Windows to determine which application has made the availability request. Because of this it can be hard to determine the source of these availability requests and typically requires methodically closing applications and re-running powercfg -requests to see when the availability request is cleared. In this instance, the availability request is cleared when WMC closed, but it is not clear what its purpose is."
So I went into task manager and one by one have been ending background processes. After ending each background process, I went back into the command prompt window but kept getting the legacy kernel caller coming up....until I shut down my facial recognition software, which I purchased with my laptop from Dell. That was about 4 hours ago and my laptop has not gone to sleep since!
Hope this helps anyone else out there who's been tearing their hair out to identify their own software conflict.