I actually utilise a small hack that I came up with for that very reason. In my cron/php/doexpire.php file I changed:

Code
        $query = "
           DELETE FROM {$config['tbprefix']}Posts
           WHERE B_Main  = '$Mnumber'
           AND   B_Board = '$Keyword_q'
        ";
        $rc = $dbh -> do_query($query);

to this:

Code
        $query = "
           UPDATE {$config['tbprefix']}Posts
           SET B_Board = 'trash' 
           WHERE B_Main = '$Mnumber'
           AND   B_Board = '$Keyword_q'
           AND   B_Board != 'UBB62'
        ";

        $rc = $dbh -> do_query($query);

'trash' is the keyword for my archive forum. I excluded the UBB62 forum because this in an off-topic forum, and I wanted those to be deleted. You can leave that line out if you want everything moved and none deleted. However, to have old posts in UBB62 deleted, I inserted:

Code
        $query = "
           DELETE FROM {$config['tbprefix']}Posts
           WHERE B_Board = 'UBB62' 
           AND   B_Main = '$Mnumber'
        ";

        $rc = $dbh -> do_query($query);


Visit the real Threadsdev at http://www.threadsdev.net