Update: as of version 1.9.2, db2_free_stmt() was not only deprecated, but its functionality removed completely. It returns TRUE but does nothing.
Instead of db2_free_stmt(), use the aforementioned $stmt = ''; to trigger the statement's destructor.
It is advised to destroy the statement resource in this way if the statement variable is later re-used with another db2_prepare in the same request.
Example:
$stmt = db2_prepare($conn, $sql1);
// more code goes here
$stmt = ''; // destroy statement resource before assigning another statement to the same variable.
$stmt = db2_prepare($conn, $sql2);