This looks like the same issue I just solved for myself. Oddly my captcha WAS working when I set up the contact form on my site back in February, but today it was not (same issue - image not showing up). I don't test the functionality of it daily so I'm not sure at which point an update broke it.
I went through the detective process which I'll outline here to make it easier for people to locate this solution from searching. First, I found that the image WAS being generated in my uploads folder (.../wp-content/uploads/wpcf7_captcha/) and all the folders and png/txt files had the proper public read permissions. Hmmm but for some reason when my captcha form referenced the image it returned a "403 Forbidden" message. Directly trying to access the file with my browser (.../wp-content/uploads/wpcf7_captcha/123456789.png) also returned the "403 Forbidden" error.
After doing some research I found the problem to be with the .htaccess file that Really Simple Captcha is creating if there does not already exist one in the wpcf7_captcha folder.
The solution? I edited the .htaccess file to only contain the text between these quotes:
"Allow from all"
The file they were creating tried to only allow for files with the image extension to be accessible directly but for some reason the syntax they used was failing. It might have something to do with my webhost being behind on an update or something, or an error in their code.
Another solution would be to remove the existing .htaccess file altogether and then edit the plugin itself to not recreate the .htaccess file as it is not really needed. The function you would remove is called "make_tmp_dir".
Hope this helps.