per il primo punto è strano, la classe BasePage eredita da Page, quindi dovrebbe essere transitivo.-non posso proprio scrivere codice nel code behind
-il nome deve essere per forza questo?
per il secondo no, puoi dare alla classe BasePage il nome che vuoi, basta che poi le tue pagine ereditino da tale nome classe...
ps: la classe BasePage deve stare nella cartella APP_CODE se usi VS2005+
ps2: hai inserito il codice della classe BasePage in un file ".vb" ? (una classe)