Warning: Only 3 people who read this may actually understand it.
This morning, after actually considering what the effort might be to port lp_solve from C over to .NET, I stumbled upon this:
http://code.msdn.microsoft.com/solverfoundation
About 4-5 years ago, I worked on a project that used a Frankenstein'ed "lp_solve 2.0-ported-to-Java-then-ported-to-C#" solver, which was great because it was free and it was a completely managed solution (no native components). What I was doing wasn't particularly that heavy of a problem, but still required a solver to quickly and reliably minimize a cost given a bunch of user-provided constraints.
Solver Foundation appears to satisfy both of these "requirements"...