I have not tried to do what you described, but it seems like IDatabaseNotifyCallback:: OnRecordChanged should work for you. You could have that callback check to see if it has a file attachment that does not use your location/naming convention. Then you could move/rename the PDF from within the OnRecordChanged callback.