Ah, this used to be a notorious problem for people braving the new world of DivX ;-) 3.1 video with VBR MP3 audio tracks. It used to be commonplace for people to have to edit the framerate in VirtualDub (later VirtualDubMod); VDubMod provides a facility to adjust the video framerate to compensate for audio lag.
Golden rule for audio accompanying video tracks: make sure it's digitised and encoded at 48 kHz. 48000 can be divided nicely into 24, 25 and 30. 44100 doesn't go quite as well. (All to do with timing from back in ye olde dayze). Also, some software copes perfectly well with audio supplied at 48 kHz whereas 44.1 kHz audio tracks desync during playback (even if they're theoretically aligned perfectly in the file) due to bugs with MP3 support in the playback software and the AVI wrapper (it's all one big dirty hack; AVI was never designed to support MP3 bitstreams, nor H.264).
If you're encoding with H.264, I would drop AVI altogether unless it's unavoidable for hardware format support reasons. Wherever possible, use MKV or MP4 to wrap your streams -- MKVMerge for making Matroska files or MP4Box for MP4 files (YAMB is a very functional Windows GUI for MP4Box). Both of those formats are far more efficient and can handle far more in terms of streams (subtitles, both converted and native vobsub, chapters, multiple audio streams and multiple video streams). My recommended software combo for playback is either 1) Media Player Classic with CoreAVC for video, AC3Filter / FFDShow's audio component for audio and Haali Media Splitter for demuxing the streams at playback... or 2) VLC / SMPlayer / UMPlayer as a "no fuss" alternative (not quite as good quality though IMHO).