Bueno, lo primero que siempre debes hacer es acudir al manual de referencia. En el caso de RETURNING es una cláusula exclusiva de PostgreSQL y Oracle, que posee diferentes restricciones y sintaxis dependiendo del DBMS.
PostgreSQL:
http://www.postgresql.org/docs/8.2/s...ql-insert.html
Oracle:
http://docs.oracle.com/cd/B19306_01/...nto_clause.htm
Ahora bien, para funcionar correctamente debes asegurarte de PDO la soporte, porque de lo contrario no obtendrás el dato.
Adicionalmente, ten en cuenta que estás programando en OO, y en ese caso hay restricciones de entorno de existencia para las variables que pueden crear problemas si no dominas ese aspecto.
Si el valor regresa al ejecutar la query del INSERT, entonces deberías hacer un analisis paso a paso ("prueba de escritorio") para saber si estás cometiendo un error programático, y perdiendo el valor en alguna parte.