Aca te dejo como lo uso en mi plugin...
Lee los comentarios que te van a ir guiando en que hace cada cosa.
	// Cantidad de objetos TOTALES que se tienen que mostrar paginados
	$cantidad = 20;
	// Los objetos a mostrar por página
	$por_pagina = 2;
	//La página en la que estamos
	$pagina_actual = (int)$mybb->input['page'];
	// La URL de esta página... es decir, a que URL estarán hechos los links de la paginación (MyBB agregara el 'page=X'
	$url = 'superpagina.php?algo=2&otracosa=3';
	// La mágia (?) -- No explico que hace... pero es pura matemáticas.
	if($page > 0)
	{
		$start = ($page - 1) * $perpage;
		$pages = $quantity / $perpage;
		$pages = ceil($pages);
		if($page > $pages || $page <= 0)
		{
			$start = 0;
			$page = 1;
		}
	}
	else
	{
		$start = 0;
		$page = 1;
	}
	// La llamad a la función. Esta variable es la que contiene los "numeritos" :p
	$paginacion = multipage($cantidad , $por_pagina , $pagina_actual , $profile_page);
	// Y despues para seleccionar los datos (ya limitados segun la página que estes) de una base de datos:
	$query = $db->query('SELECT * FROM algo LIMIT ' . $start . ', ' . $perpage);
Cualquier duda pregunta...
Suerte.