Making a connection to my camera, setting to record, and sending lua commands for zooming via my app to chdkptp works perfectly. Am I missing something in order to send the lvdumping command from my app, or is this a bug?
What exactly happens when it "doesn't work"? Does it just hang? Does it produce any output? Can you send more commands after you send the lvdumpimg command?
You can see in the chdkptp source for yourself that all input for CLI commands is handled the same way (see cli.lua cli:run) As far as the input handling is concerned, there is no difference between "rec" and "lvdumpimg". It just reads text terminated by a newline, using standard Lua IO (or GNU readline if you've compiled chkdptp with readline support, but that defaults to off under windows)
This doesn't mean there isn't a bug, but it probably isn't specific to lvdumpimg. I would expect it has something to do with piping from VB, but I know very little about that.
The obvious difference is that the lvdumpimg command is longer than the other ones you are sending.
One thing you could try is sending increasingly long commands and see if it stops at some point.
e.g.
proc.StandardInput.WriteLine("exec print('a')")
proc.StandardInput.WriteLine("exec print('aaaa')")
...
The prints will cause chdkptp to print on standard output if the command works.
You can also add debugging prints to various points in the chdkptp code: Does it reach cli:execute? Does it reach the lvdumpimg command?
If vb does any kind of output buffering when you use proc.StandardInput.WriteLine that would be an obvious thing to check.
edit:
Another possibility is if you aren't reading the standard output from chdkptp, it will could block once some buffer fills up. Again, I have no idea how this works specifically with VB.