ogni volta che nel nuovo sito risolvi un url con il tidle ~ fai riferimento al sito vecchio.

Questo succede perche un sito asp.net ha bisogno di un processo a se stante per girare dentro iis, questo si traduce nel configurare la directory principale come applicazione, quindi web.config tutto suo, ecc.
Quello che hai fatto tu invece è stato forzare il sito nuovo a girare dentro il vecchio come fosse un appendice di quest'ultimo, usando il vecchio web.config e risolvendo molti url in modo errato.
La cosa migliore in questi casi sarebbe dichiarare la directory beta come applicazione solo che non è un opzione che puoi avere con un normale piano di hosting ma solo con un piano di hosting frazionabile.
Per risolvere o ti imbarchi dentro poco ortodosso lavoro di "cucitura" (fondi i web.config e cambi tutti gli url "~" in "~/beta") oppure ti procuri uno spazio web "muletto" per far girare le tue beta.