Finalmente resolvido.
Ao usar a Auto-negociação, a Detecção Paralela é usada para determinar a velocidade do link quando o outro dispositivo não é capaz de Auto-Negociação.
A preocupação levantada pela Hauke Laging é válida, especialmente neste caso, pois uma incompatibilidade bidirecional pode causar o estabelecimento de um link, mas uma conexão extremamente lenta. Ao usar a Parallel Detection, no entanto, os dois dispositivos devem ter o padrão Half-Duplex, já que seria impossível dizer se um dispositivo era capaz de full / half duplex apenas do LTP transmitido por um dispositivo que não suporta Auto-Negotiation.
No meu caso, a caixa preta não estava conseguindo fazer a Parallel Detection e estava assumindo o padrão de 100M, apesar da especificação alegando que ela suportava a Parallel Detection. Uma atualização de firmware corrigiu isso.
O motivo pelo qual o link funcionava no meu PC era que mesmo quando eu limitava meu NIC para 10M HD, ele ainda estava usando Auto-Negociação para comunicar seus recursos, e assim a caixa preta detectou corretamente a taxa necessária. Da mesma forma, isso funcionou perfeitamente quando conectado a um switch, pois o switch detectou os pulsos LTP e AutoNegotiation corretamente.
Obrigado por todos os comentários úteis e links úteis. Se alguém tiver um problema semelhante, ficarei feliz em ajudar a depurar.