So after actually sitting and watching it run, I've figured out why the files are truncated. todvrms is crashing during the conversion (I get a "todvrms has stopped working" message), and then DTB continues on and moves what it does have to the Recorded TV folder. The end result is a dvr-ms file that is shorter in duration than the source file.
Here's a log of it in action, although I don't see any errors listed. Would it help if I uploaded the source AVI and intermediate MPG file somewhere to see if there's some reason todvrms is crashing?
Setting Priority = Normal
FileName = D:\Downloads\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.avi
InputFile=D:\Processing\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.avi
Processing actions, this may take some time!!
Current Affinity: 3 System Mask: 3
Getting MetaData
File is not a dvrms-file
Run Profile = Convert AVI to DVR-MS - mencoder
ProcessId = 33204
DvrmsToolbox Version: 1.2.2.0
Throttle DVRMStoMPEG
FWThrottle: D:\Downloads\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.avi
WaitTime: 1 PollTime
Waiting to process file
Queue file
Duration = 00:00:01.0140018
Waiting for available worker: 1/22/2010 9:51 PM
Worker allocated: 1/22/2010 9:51 PM
Get the value of Context["OutputFile"] and set the value of Context["OutputFile"]
Context["OutputFile"] = D:\Processing\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.avi
Context["OutputFile"] = D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg
Duration = 00:00:00
Get the value of Context["InputFile"] and set the value of Context["OutputFolder"]
Context["InputFile"] = D:\Downloads\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.avi
Context["OutputFolder"] = D:\Downloads\
Duration = 00:00:00
Run Mencoder
Run C:\Program Files\DVRMSToolbox\Applications\Mencoder\Mencoder.exe -quiet "D:\Downloads\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.avi" -profile "MPG-AC3" -o "D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg" -vf pp=md,harddup
MEncoder Sherpya-SVN-r29355-4.5.0 (C) 2000-2009 MPlayer Team
success: format: 0 data: 0x0 - 0xaf0f000
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO: [XVID] 624x352 12bpp 23.976 fps 1002.0 kbps (122.3 kbyte/s)
[V] filefmt:3 fourcc:0x44495658 size:624x352 fps:23.976 ftime:=0.0417
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
PACKET SIZE: 2048 bytes, deltascr: 43885
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
Opening video filter: [harddup]
Opening video filter: [pp=md]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
VDec: vo config request - 624 x 352 (preferred colorspace: Planar YV12)
[PP] Using external postprocessing filter, max q = 6.
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.77:1 - prescaling to correct movie aspect.
videocodec: libavcodec (624x352 fourcc=3267706d [mpg2])
Writing header...
INITV: 0.200, 0.158, fps: 23.976
Flushing video frames.
Writing index...
Overhead: 2.837% (10992907 / 387545845)
Writing header...
Video stream: 2090.044 kbit/s (261255 B/s) size: 336103573 bytes 1286.494 secs 30847 frames
Audio stream: 320.000 kbit/s (39999 B/s) size: 51463680 bytes 1286.592 secs
Duration = 00:03:47.4456012
Move the file in Context["InputFile"] to %OutputFolder%
File Operation completed
Duration = 00:00:01.0140018
Get the value of Context["OutputFile"] and set the value of Context["InputFile"]
Context["OutputFile"] = D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg
Context["InputFile"] = D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg
Duration = 00:00:00
Get the value of Context["OutputFile"] and set the value of Context["OutputFile"]
Context["OutputFile"] = D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg
Context["OutputFile"] = D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.dvr-ms
Duration = 00:00:00
Get the value of Context["InputFile"] and set the value of Context["TvDBXMLFile"]
Context["InputFile"] = D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg
Context["TvDBXMLFile"] = D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg.xml
Duration = 00:00:00
Read metadata from TvDB and build Sage XML file.
Processing TvDBMetaData with 12 arguments.
Using following file as Template Metadata XML file: Template.mpg.xml
Using following file as Series Alias XML file: SeriesAlias.xml
Using following file as the target Metadata XML file: D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg.xml
Using input parameter as regular expression: (?<series>.+)\.S(?<season>\d+)E(?<episodenbr>\d+)\.
Metadata provided by thetvdb.com
Found APIKey.
Found Series Name
Retreived Series Info
Retreived Episode Info
Sage XML file created: D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg.xml
Duration = 00:00:00.6396012
Run todvrms.exe "D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg" "D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.dvr-ms"
Run C:\Program Files\DVRMSToolbox\Applications\todvrms.exe "D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.mpg" "D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.dvr-ms"
Duration = 00:00:42.6083239
Move file specified in Context("OutputFile") to C:\Users\Public\Recorded TV\
Moving D:\Temp\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.dvr-ms to C:\Users\Public\Recorded TV\Parks.and.Recreation.S02E13.HDTV.XviD-LOL.dvr-ms
Duration = 00:00:00
Delete the file in Context["InputFile"]
Duration = 00:00:00.0156001
Delete the file in Context["TvDBXMLFile"]
Duration = 00:00:00
Total Duration = 00:04:32.7371300
This is running on a Windows 7 Home Premium 32bit machine.