About the original post and the title of this thread:
I use #Develop at home and MonoDevelop at work. I never needed NAnt at home, as I always build from inside #Develop. At work we used NAnt for a while, but as I made the switch to MonoDevelop I also switched to build using mdtool and the MonoDevelop solution and project files, in a manner similar as possible to building with MSBuild (perhaps if and when MonoDevelop will completely switch to the VS2005 format solution and project files, the same as #D did, I will switch from mdtool to XBuild).
I found NAnt to be not friendly enough, and was just a bit nicer than simple makefiles. The same goes to almost any other build system (SConstruct, for instance). The good thing about solution/project files is that they put order into things. The library structure will most likely be the same as the solution/project files structure, and the same as the version control structure. Plus, it saves duplication and management of build instructions, file lists, etc.
About the rest of the posts, which probably should have been posted in the thread about making #D cross platform:
With all the progress of the mono project, and with other talks about implementing cross platform libraries of the most common PInvoked methods, I think #D will eventually be able to run on Mono (and therefore on almost any OS).
But perhaps there should be some common work on the two projects; after all, in the MonoDevelop SoC ideas you can find "porting new features from #D". Plus, they have made the addin architecture open (Mono.Addins) (although it had been forked out already, as I saw in some older post). Maybe it's a good idea to take the advantage of Google's SoC and MonoDevelop suggested back-porting project to make some of the code shared by the two projects, so both sides could benefit from the progress.