Sorry to make it seem like I'm having a conversation with myself...
Looks like I have page caching now working. What I did was turn on CloudFlare in W3 and set it to minify JS and CSS only. I then made sure in ClouldFlare I was set to only minify JS and CSS and that did the trick. Prior I had CloudFlare minify JS, CSS and HTML and that was not working; it would not serve the cached version of the pages.
So it seems like a bug in that letting CloudFlare minify HTML results in cached pages from W3 not being served, or is this working as intended?