I just spent 45m banging my head against my desk trying to figure this out. This is my fourth FreePBX installation and my first one on Asterisk 1.6.
It appears that the Record() function changed in 1.6. Now if you hang up it assumes the recording “failed” and it deletes the temporary file so when you’re doing new recordings via System Recordings the files keep disappearing.
To ensure your recording is kept you have to press # then hang up. OR FreePBX’s extensions_additional.conf needs to be modified so that the new ‘k’ option is passed to Record().