If we need 4 cmmand to convert test.dvi to test.png
1. cmd1 test.dvi  test.a
2. cmd2 test.a test.b
3. cmd4 test.b test.png

does it work correctly?  can %b.a convert to  text.a ? 
("cmd1 %b.dvi %b.a"
 "cmd2 %b.a %b.b"
"cmd3  %b.b %b.png")

if it works properly,  i suggest  merge org-compile-file feature first, i will rebase my patch to it before merge.