I suppose I didn't really answer your question properly.
I think there is some kind of vinyl repair out there, as there is vinyl repair for interior for cars. I just don't know of any.
I'm not sure, do you really want to keep the vinyl top/look? From your question, it sounds like you're just looking for a solution so it looks good?
whether or not you want the vinyl to look good, or you just want the car to look good - I can't tell here.
Really two options here - Tear off the old vinyl, and redo it (either professionally or by yourself) because trying to 'repair' it will probably be a waste of time. It's gonna cause sooo much other rot (and we're talking body/metal/structure rot here) that any patches you do, won't be worth it. Also this will give you a chance to see if there IS any rot under the vinyl, and repair it before you car has some serious holes in it, and it's leaking water thru every pane of glass.
Or
You can remove it, and considering yourself lucky that the car isn't rotting far worse then it might be now. Take it all off, and fix any rust/rot, and then paint it. Forget about having a vinyl roof over the metal roof.