Jabber-NET точно умеет работать через прокси. Пример можно взять
отсюда, только после создания экземпляра JabberClient нужно будет также заполнить поля, относящиеся к прокси:
Код:
...
static void Main(string[] args)
{
JabberClient j = new JabberClient();
j.Proxy = ProxyType.Http;
j.ProxyHost = "localhost";
j.ProxyPort = 8080;
j.ProxyUserName = "username";
j.ProxyPassword = "password";
...