Have you had a look at Stephen Fortes series on Open Access WCF Wizard
? It has support for Astoria.
As for number 2)
So you could build your server side layering like this:
WCF service layer (exposing you business service as a WCF endpoint for Astoria use)
Business services (using data services to get and perform logic)
Data services (repository of methods that work on the persistent model, your OA class library)
Eventually you can make your web application go directly for the business services layer and let your silverlight application go for the WCF exposing your business service. Meaning there will be a one-to-one relationship between methods in WCF service layer and Business services layer.
Of course you can also let both apps go for he WCF service layer.
As for number 1)
I have no idea why it behaves like this.