I never had any issue using Cloudflare. Everything is setup with the defaults, I'm mostly using them for the proxy and DDOS protection.
The only thing that can be safely cached are the assets (css, js and avatars). If Cloudflare starts caching other resources (API or frontend HTML) then it's likely to break.
It would be valuable to find out which cached resources caused your issue so we can identify whether something can be done in our recommended config.
If your server is using Apache with the mod_expires module we have explicit rules that should prevent a proxy over-caching in the .htaccess. In particular json and html are "access plus 0 seconds" https://github.com/flarum/flarum/blob/master/public/.htaccess#L39
If you didn't force Cloudflare to cache those resources (via page rules), maybe your webserver is setup in a way it adds caching headers to outgoing responses that are different from those defined in Flarum's htaccess and nginxconfig? For example if a hosting automatically added caching headers for HTML data, it could mess up with PHP applications behind Cloudflare.
Update: I'm not using Recache, so maybe there's something specific there ? I suppose Recache also adds its own cache headers to some responses.