What you see is the conversion done in your culture. If you want to go for a special culture (en-us?) use this as IFormatProvider parameter. It happens that en-us is the "Invariant" culture. so you can just use:
DateTime.Now.ToString("dd-MMM-yyyy", System.Globalization.CultureInfo.InvariantCulture)