Without having taken time to really look at your code, I'm guessing that the code that makes the magic 100th deep function call doesn't have warnings enabled.
Comment on Re: Streams and "deep recursion" warning
That's an intriguing possibility. Could that be the case if both files (the script and Stream.pm) ran under use warnings? (The only module Stream used is Exporter; in the unlikely event that this could have anything to do with missing warnings, I eliminated this dependency.)