Да вроде нет там никаких хитростей - пишешь программу, потом заменяешь
ключик Shell в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
и вуаля - твоя программа грузится вместо explorer. А что ты будешь делать в ней - это твои проблемы. Насколько я знаю, никаких требований здесь не накладывается, по крайней мере до Висты - сам как-то пробовал поставить нотепад туда, работало без проблем.