Good luck with that! sounds like a lot of work. As fas as I can tell this is close to impossible to do in a safe manner. I have seen some suggestions that you should let the vb6 program write the result to a file, then read the result from the file and go from there. It is a pretty awful solution, but that's how it is. There is some useful info in this link:
https://www.arcanadev.com/support/kb/K00000084 To translate this to a VisualCron scenario, I would test this (I have never actually tried this):
1) Change the vb6 code to write the result a file
2) Add a task in VC that deletes the old result file. This is to prevent you from reading the result of the previous execution.
2) In the execute task i VC, go to the on error tab and uncheck 'Non zero code' . My guess is that this is why VC reports failure, regarldess of what the result of the VB6 application is
3) Add a Wait task in VC. This will have to be set to some amount of time where you are sure the VB6 app is done processing
4) Read the result from the file, and take it from there
As I said, it is an awful solution, but until you can rewrite it to a proper language, it may be just about workable.
Hopefully support has a better solution!