PHP 5 and the magic __toString() method

I can see that we don't want it called by default everywhere, otherwise there would never be a way to grab a reference to an object. But surely there are a large number of 'string only' functions that could invoke it? If I set up an object called $parameter with a method of __toString() and call it in code with echo "This is the value: " . $parameter then there really can't be much else I'm doing with it than using it as a string. If the toString() method isn't called then, why do we have it at all?
It seems that this may be another case where PHP's lack of strong typing is severely limiting it's future development as a robust object oriented language and the __toString() implementation smacks of a half-implemented hack to me.

