One of the main reasons we decided to do so is that the default Silverlight and WPF controls are exposing their selection as a read-only property and we wanted to be consistent with these controls (like ListBox, DataGrid, TabControl, etc.).
Another important reason is that there are too many scenarios that should be handled if the property is settable and it lets both the user of the control and the developer of the control to do mistakes which we'd like to minimize.
Hope this makes sense to you.
All the best,
the Telerik team