Hi,
api.jquery.com/jquery.noconflict/
We store a pointer to the jQuery object so if something break the jQuery object or the "$" (like re-include mootools after), we still can access to the jQuery object thanks to our pointer.
The code is totally safe and does not break the "jQuery" or the "$", it is just a backup of the object (using a pointer).
If your code with $ does not work, use a lamba function with a " window.jQuery" parameter.
You should have an inclusion of mootools or maybe several inclusion of jQuery (which have the bad effect to destroy the previous jQuery point and lot the jQuery module loaded ; thanks to the hkjQuery, we can still have a backup of the previous loaded jQuery).
Q3. There is no way to detect that, you have to use lamba function with "window.jQuery" or "document.id".
Q4. Analyze the code 
Regards,
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.