Em um mundo perfeito, os desenvolvedores do Wine poderiam seguir uma especificação fixa com a qual construir um substituto totalmente binário compatível para o Windows. Mas esse não é o caso. Eles conhecem as APIs públicas e sabem o que essas APIs devem fazer. Tudo o resto (ou seja, como eles fazem isso) é uma adivinhação educada.
O ideal também envolveria o funcionamento do Windows de forma consistente, o que não acontece. As peças foram parafusadas em códigos muito antigos. Os desenvolvedores de aplicativos podem solucionar esses bugs ao criar seus aplicativos, mas isso também significa que o Wine precisa seguir tudo, até as peculiaridades e, muitas vezes, por tentativa e erro (usuários enviando bugs para aplicativos específicos).
Não é garantido que nada funcione. Mesmo as coisas que funcionam perfeitamente, até melhores que as nativas, não garantem que continuem assim. Freqüentemente, no mundo do vinho, para consertar algo, você precisa quebrar meia dúzia de outras coisas ... Você apenas espera que você (ou outra pessoa) encontre esses novos erros antes que o código atinja uma versão estável.
Se você deseja suporte estável a longo prazo para um lote de aplicativos, consulte o ramo comercial do Wine: CrossOver .