E mi sento uno stupido perché non ho letto l'API abbastanza da vicino. Apparentemente stavo specificando max_table_length ma il messaggio di errore si riferiva a max_item_length che ho lasciato come -1 ... ma questo è un no-no poiché sto vincolando un parametro OUT anziché uno IN.
Modificato il binding in questo modo e ora funziona:
oci_bind_array_by_name($stmt,'USER_ID_ARRAY', $userIdArray, 250, 250, SQLT_VCS);