Cita: Home Branch+Year+Month+Incremental
porque juntar 4 valores en uno, es muuucho más fácil tenerlo en campos separados y buscar sus valores...
Cita: $sth->execute("^[a-zA-Z]{1,4}" . $year . "[0-9]{$andtwo}");
Es una expresión regular soportada por MySQL ? porque le estás pasndo un parámetro medio raro...probaste en algún phpmyadmin o mysql query broser si funcionaba bien ese parámetro ?
primero probalo en SQL puro, luego intentá pasarlo a perl...