Basic rule you seem to be running afoul of is to have the same number of bound variables as columns in the stage. For example, for six columns referenced in the stage you must include :1 thru :6 in the custom sql.
I got the same problem when I wanted to use Oracle's sequences.
You must not define the column that will contain the values of the sequence in the column definition. just put it in User-Defined SQL, and It will work.