I work with web services written in C#, with PHP on my (client) side.
$date = new DateTime("now");
date = new DateTime(1999,9,9,0,0,0);
"... I had a meeting with the developer of web services and he showed me that when he passes
System.DateTimetype variable to the function it works properly, but he did it locally in C# ..."
The function you try to invoke in the C# web service takes a
System.DateTime object as a parameter. I looked it up at MSDN and learned that it is a C# class. PHP's DateTime Class is not the same, so the service probably recognizes an instance of PHP's DateTime class as invalid data. I am not sure how communication works with C# services, but I would assume that it requires a binary representation of a C# System.DateTime object. It means that you could potentially investigate how C#'s System.DateTime object is represented in binary and manually construct and pass the binary data in PHP. This is however incredible time consuming and you have no gurantee that it will actually work.
A better solution would be to use another function in the web service (if it exists) that retrieve primitime data types as parameters instead of C# specific classes. An example would be a similar function in the web service that retrieves an Unix timestamp (in PHP: time()) which the function can use to create its own System.DateTime C# object. Another example could be a function retrieving a date from a formatted string (e.g. "dd.mm.yyy H:i:s").
It would be easier to help you if you were able to retireve the web service developer's local code/example (the one you mentioned) and post it here.