1. If it hooks to the client using a C++ hook, then yeah. Otherwise, no.
2.

- It's outdated but it iwll give you a start.
Just remember, instead of #include <iostream.h>, use #include <iostream>.
Instead of cout, use std::cout .
3. I heard dev's C++ Compiler is good, but i use visual studio 2008 express edition.
Make sure you also have Notepad++ for the coding.
4. I suggest looking at the source code of rPE or WPE. You could probably see how they work.