No real advice, but I am in the same boat!
He sounds like my DS (almost 4)-I do everything I can to have nice trips out-bike rides, seeing a little Christmas play, going to the beach to play diggers...and 95% of the time it seems to end in tears! He is also shy and emotional like your DS
I also tried leaving DS2 (1) with his dad and doing things JUST with DS1, but it didn't make even the tiniest difference.
Is he jealous of his sister? DS1 always wants to be carried/go in the pushchair if I am out with the two of them, it drives me crazy!
I think mine is very tired and overexcited at the moment-the holiday season, school breaking up-his moods change in a flash, and even something he has been looking forward to doing (tonight was dinner in a restaurant with family friends and their kids) ends with whinging, squabbles and resentment on his part.
It is sad, but I am fairly sure he will outgrow it-at least I bloody hope so!
For the moment I am being deliberately unambitious in our trips out-football in the garden, very short walks with a purpose-putting letters in the box, popping in to see a friend etc.
I am sure you make your DS feel happy! :)