I overloaded a method in my WCF service that compiled fine, but exploded in my face at runtime.   A bit of digging around later and I discovered you can get around this "limitation" by using the "name" attribute in your OperationContract tag of the ServiceContract.

Here is an example I found and the link to the original article where I found the answer:

[ServiceContract]
public interface ICalendarService
{
   [OperationContract(Name = "GetScheduledEventsByDate")]
   ScheduledEvent[] GetScheduledEvents(DateTime date);

   [OperationContract(Name = "GetScheduledEventsByDateRange")]
   ScheduledEvent[] GetScheduledEvents(DateTime start, DateTime end);
}

http://jeffbarnes.net/blog/post/2006/09/20/Overloading-Methods-in-WCF.aspx