Not sure of the specifics. Java SE is now included with the official OS (Raspbian/NOOBS) [0]. When the Pi first launched you had to use the soft FP version of the OS or Java wouldn't work but this had a significant performance penalty. They added official support for hard FP a few years ago [1]. I believe the .NET issue was similar in that the VM (CLR i.e. JVM) didn't support the hard FP version of the OS. FP on the Pi processor is a bit weird and a non-standard implementation from what I've read.
P.S. In researching this post I noticed that one of my projects (a globe wake lamp) has been included in the latest project book (p108) [2]. First I've heard of this! This is actually an old version and there is a newer write-up on my blog [3].