Hello,
the temp directory in VM Invoice is determined by following lines of code
$mainframe = &JFactory::getApplication();
$tmp = $mainframe->getCfg('tmp_path');
if (substr($tmp, -1) != DS) $tmp .= DS;
define('VMINVOICE_TMP', $tmp);
(you can find this code in admin part, in
helpers/vminvoice.php)
So it loads the tmp directory defined in Joomla Global configuration and simply appends the filename to it.
So I guess your tmp folder in Joomla is not defined properly.