Gabriella, or Paolo..... Maybe it's because I "was born" speaking of jobs in the SQL department, but have you ever tried "manually" to create two tables and set a mutual relationship within those two without first creating the tables without references?
When you create the route table, how can the db know to reference a column in a table that doesn't exist ? (The same goes by if you create the pictures table first). Reference fields in web2py work very well.... it's just mutual references that are not handled (it's quite a complex logic)