A lot of developers had to go in and remake their apps specifically for 8.0 to ensure version compatibility. And now for 8.1, MS is bringing out the WinRT based app framework - the same one as Metro on big Windows. But there is a catch - the APIs we've been using on 7.X and 8.0 are incompatible with the Windows 8 APIs. So if you were thinking to easily port your Windows 8.0 app to Windows Phone 8.0 - you just can't.
This is so wrong it's not even funny. The majority of WP7.x apps worked on 8.0.
Nope. That was not the case at all. Microsoft had an entire team in WP dedicated to application compatibility. They tested the top 1000 and top 5000 apps for 7.0 against builds for 8.0. The majority of apps at first failed to perform correctly in 8.0 builds. The publishers for these apps were contacted before launch to request for updates or changes on their end. Transplanting the Windows8 kernel into WP8 also had other issues besides simple functionality. The performance was very different. If you had an app that did a lot of initialization at cold start, you were screwed because of CoreCLR taking the place of the NetCLR that existed in 7.x. The desktop CLR meant that it would JIT .net IL by the module rather than by the class or method. So you had several high profile apps taking longer than 10 seconds at startup - which triggered the watchdog timer and terminated it completely - giving the user the appearance of a crash on start up.
Now you can debate whether these issues are the fault of the developer or of the platform. But the fact remains, apps that worked on 7.x didn't always work just as well on 8.0.
As for Silverlight going away - look at XNA. They aren't going away. They are just not going be to as supported as before.