Ok lets see.
Here is the code on my custom page template for the homepage that calls the posts.
<!-- posts grid -->
<?php query_posts( array( 'cat' => 9, 'posts_per_page' => 3, 'paged' => get_query_var('page'))); ?>
<?php } ?>
<?php if ( of_get_option('blog_layout') == "0" ) {
get_template_part('loop', 'grid');
} else {
get_template_part('loop');
} ?>
<?php wp_reset_query() ?>
Is there anything there, which would stop the code in the loop from working?
Or rather…
Here is the code in my OTHER pages which call the posts where I want the pagination to REMAIN. Eg these are NOT my home page. This is the code on their page.
<?php query_posts( array( 'category_name' => writing, 'posts_per_page' => 3, 'paged' => get_query_var('paged'))); ?>
<?php } ?>
<?php if ( of_get_option('blog_layout') == "0" ) {
get_template_part('loop', 'grid');
} else {
get_template_part('loop');
} ?>
<?php wp_reset_query() ?>
Basically the same, but with the category changed and the word "page" changed to "paged" in the query for the non-homepage pages. Could this be something to do with the loop?