Sticky posts don’t show up first in custom loop

DO NOT USE query_posts() FOR CUSTOM LOOPS!

Use WP_Query() instead.

<?php 
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$custom_cat_query_args = array(
    'paged'           => $paged,
    'category_name'   =>'home,tumblr'
);
$custom_cat_query = new WP_Query( $custom_cat_query_args );

By default, ignore_sticky_posts is set to 0, or do not ignore. So, the custom loop should handle sticky posts as per normal.