IrCOMM2k pode funcionar por 1.
Com relação a 3, eu teria pensado que deveria haver muitas alternativas disponíveis, embora elas possam não ser fáceis de encontrar. Por exemplo, o IguanaWorks está vendendo um dispositivo USB que pode transmitir IR e o driver é de código aberto, portanto você deve poder procurar como enviar seus próprios comandos para ele (ou entre em contato com o suporte deles para obter mais informações). E o IRTrans tem até um transmissor IR que pode ser conectado via USB ou Wifi e menciona especificamente como você pode controlar seu dispositivo programaticamente.
Pode valer a pena olhar para Lirc , pois eles têm informações úteis sobre os dispositivos disponíveis e podem ter código que você pode ver.
Um bom ponto de partida para qualquer coisa relacionada ao USB é o site de Jan Axelson.