Revisiting that first post, it actually doesn't say as much as I thought it did about which functions you can use.
In a technical sense any QC function can be used. However, if the function takes parameters they will end up uninitialised, which rarely works well, so usually those functions should be avoided.
Which ones are useful is a bit more of a different matter - it's really down to what you're trying to accomplish. The following post has a bit of a guide on how I go about locating a useful function in the code and turning it into a functioning hack:
https://tomeofpreach.wordpress.com/2014/10/07/nightmare-skill-detection/