I just want to add here my solution.
I had relatively same problem (cpt posts don't show revisions meta-box or checkbox in screen options DESPITE multiple edits).
For my problem I had to dig deep into living project, touched by many devs before me.
The answer was found by me in databse - 'revisions' are stored as childres posts to the cpt posts they belong to. That means they are themselves a post_type.
That also means, that they identify their parent by value in column 'post_parent' - where the ID of a post sits.
There was a custom function in my project for overwriting post_parent for custom posts (mainly for the purpose of custom breadcrumbs). It was also overwriting revisions post_parent values for some reason.
I've simply added $post->post_type != 'revision'
to parameters of function and then
if($post->post_type != 'revision') {
$data['post_parent'] = $post->ID;
}
just to be sure.
I hope it'll help at least one person, desperately looking for answer like I did today.