Fixed it. My bad.
The db.movies.year in which i was ordering was a textfield and it was too big (just the year) to produce a predicible result in a dataset. I've updated the order rule by putting:
list_movies = db(query).select(db.movies.ALL, orderby=~(db.movies.year)|~(db.movies.updated), limitby=(page*ITEMS_PER_PAGE,page*ITEMS_PER_PAGE+ITEMS_PER_PAGE), cache=(cache.disk, 3600)) db.movies.updated is a datetime object with much more granularity... --

