Ok, so looking into things (and not sure why I am doubting myself but it's been a long frustrating road), it seems I am correct in the fact that JSON is complied in my PHP installation. Infact, I would have done pretty well (or be using a very old version) to have not had.
I've looked at PerchTwitter.class.php (line 162 - 166), some more:
and have come to some form of conclusion. Firstly, I'm not 100% sure how, within the scheme of this file, the process ever gets past the return -1 item to process anything else in the file. Just doesn't quite makes sense to me.
Removing the above code from the file does allow me to now return and display the tweets without error, just in raw html format.
As such, changing the tweet.html template to:
allows the tweets to be rendered in html.
This now returns the latest 3 tweets, although the formatting is not what I expected, with no options for retweets, follow etc, but I guess I can build a custom template for this.
Before anyone says it, I do not like editing CORE code, but this fix worked for me. It's not the answer, there is definitely something not quite right with the PerchTwitter.class.php script, but with client pressures and demands, I will try and take a look at this asap and see if I can figure it out, or what infact the offending lines of code are doing.
Not sure if, when Perch 4 is delivered, a new Twitter App will also be updated, or it will work, but I really wanted to keep using the Twitter App, rather than looking at alternative solutions.
I love Perch and it's frustrating but these things happen. Surely cannot be the only one who has encountered this problem and hopefully this workaround, albeit I'm sure, temporary will help a few people out.