You're using deprecated types, if you use the new types then it works:
let projects = new ProjectCollection()
projects.RegisterLogger(new ConsoleLogger())
let project = projects.LoadProject("MyProjectFile.fsproj")
let succeeded = project.Build("Build")
If you didn't see any warnings about deprecated types, then perhaps you are referencing older versions of the MSBuild assemblies.