Since Silverlight 4 Microsoft recommends the usage WCF RIA services for business applications. Are there Silverlight scenarios, where the WCF RIA serives should no be used and plain WCF services or webservices or other techniques are the better choice ?
The reality is that WCF RIA Services are built on top of WCF. This means you can easily build an application that (through configuration) exposes several endpoints. So you can use RIA Services endpoints, and SOAP endpoints all in the same application with the same code base if thats what you need.
That way you can get the easiest path to integration with your Silverlight application, while other API users can get access to data in a way that is convenient for them.
Ultimately OData is probably your best choice as it's built into RIA Services (just hit the checkbox!) and it's an open published standard.