Autenticação básica é um termo que geralmente se refere à autenticação dentro do protocolo HTTP.
A autenticação baseada em formulários é tratada no contexto de um aplicativo baseado na web. Isso geralmente envolve um formulário que define algum tipo de identificador de sessão com um cookie e, quando o formulário é processado, as informações são associadas a essa sessão no lado do servidor sobre o estado dos usuários.
Realmente não existe qualquer relação direta entre a autenticação baseada em formulário, que é basicamente rastreada através do cookie de sessão, e a autenticação baseada em HTTP, que é, na verdade, diretamente dentro dos cabeçalhos HTTP.
how can it be possible that IIS would prevent the use of Basic Auth on a site that uses a custom form auth for its users?
Não tem nada a ver com o IIS impedindo autenticação básica, tem a ver com os dois não sendo compatíveis. Se você fizer sua autenticação inicial com um formulário, o estado de login associado será armazenado em uma sessão. Mas o software que lida com autenticação básica normalmente não sabe nada sobre cookies ou sessões, tudo o que ele sabe é sobre autenticação HTTP. Quando você permite que o IIS execute a autenticação, a autenticação acontece antes que o aplicativo seja tocado.
Se você usar os recursos integrados do IIS para autenticação básica, basicamente terá que usar apenas isso.
Mas, deve ser possível implementar a autenticação HTTP em seu aplicativo fazendo com que seu aplicativo envie e analise os cabeçalhos HTTP corretos. Para isso, você deixaria o IIS configurado para autenticação baseada em formulários e, em seguida, faria tudo em seu aplicativo. Dessa forma, deve ser possível que seu aplicativo envie os cabeçalhos adequados, dependendo do estado da sessão.