Hi Kanwal,
I believe that such validation is enough. According to the PHP Manual, the header function is to send a raw HTTP header; and according to section 4.2 of RFC 2616, "Each header field consists of a name followed by a colon (":") and the field value". These documents support that checking the colon is already enough. and there is no reason for using the PHP header function to send an invalid response header.
The main disadvantage of dropping invalid response headers silently is that the developer may not be able to notice the problem as soon as possible. For example, he wants to send "Content-Type: text/plain; charset=UTF-8" but he has typed "text/plain; charset=UTF-8" only. With the validation, he can quickly spot the error and fix it. The example does look silly, but this can happen in the real world, especially when the developer is tired (I experienced this problem as well).
Dropping invalid response headers silently is dangerous. While developers should not rely on the FastCGI functionality to validate the headers, warnings and error messages from compilers and runtime processors are important for them to notice if there is any mistake in their code.