При передаче объектов назад и вперед в веб-сервисе, он просто передает XML-представления открытых свойств этого объекта. Любые методы, переопределенные или нет, не идут с ним.
Я бы порекомендовал создать свойство StringRepresentation, которое вызывает ToString ()
public string StringRepresentation
{
get { return this.ToString(); }
set { /* Do Nothing, but there has to be a set */ }
}