mm Si, en parte cualquier "capa de abastracción" de BD hace eso en su métodos típicos .. sólo que separan más el código y sobre todo ya incorporan el hecho de gestionar várias BD distintas.
Uno de estos sistemas que te menciono que funcionan mas o menos así (pocos métodos y muy prácticos) es:
http://justinvincent.com/home/articles.php?articleId=2
Incorpora un anexo (classe) extra para paginación de resultados que se engancha con esa classe directamente .. resolviendo así el 99.9% de casos al trabajar con BD. Revisalo .. está bastante bien.
Ahora .. si luego quieres re-encapsular más todavía tu código y crear funciones como la que has creado .. OK.
Un saludo,