I have been using Silverstripe for years and in July decided to use V3 on a triplet of sites for my new full time employer. As it turned out, the stability of it was very disappointing with a couple of items in particular very much still there in 3.0.3. These issues contributed to the project running late.
However (and sadly for me) it was made irrelevant as I was recently made redundant when the company was bought by a competitor that was very much Microsoft based, so now I'm looking for work again. I'm still working on the sites as an exercise though and some time ago removed the subsites module as that made issue #2 much more confusing.
I've complained about both of these issues here, on Trac and Github. I went to a lot of trouble to prove the deleted items issue on Github
1. Hit the insert image icon in an editor and choose one "from the cms". Try to choose a subfolder from "Find in Folder" You can't. The stylesheets have been significantly modified - probably causing this issue. This issue was raised some time ago.
2. Much worse is that the view "all pages including deleted" does not work. Discussions I have had on this seem to focus on creating test models for everything. I firmly believe this has become an obsession with reality being abstract. Reality? Create a couple of nested pages, save them and publish if you want. Unpublish them if you have to and then delete from draft. They then show up as deleted, right? Well not really. Do a full refresh and see what happens. They vanish and viewing "All pages including deleted" does nothing.
I have had major discussions over this and the problem is without doubt in Versioned.php and perhaps objects that use it like Heirarchy.php. I have got part way there in modifying these but then I'm beaten. It goes too far. Authors have attempted to get rid of the temp table use earlier but created worse problems. One problem is that the ID in the Sitetree_versions table I think gets substituted for the PageID, which when the system is new may not be spotted but of course after a short while is a serious error. Why not created a Sitetree_deleted table so deleted stuff is readily identified and purgeable with cluttering up the test of the tables?