Solution:
According to the way the breadcrumb code is set up, you will need to run a check to see if you are currently on a blog page, and if you are, add the text in between the last breadcrumb item & the home one.
This can be done by utilising the global wp_query, in combination with the function is_simple(). This has now been tested and seems to work.
function breadcrumbs($id = null) {
$blogTitle = get_the_title( get_option('page_for_posts', true) );
global $wp_query; ?>
<div id="breadcrumbs">
<span><a href="<?php bloginfo('url'); ?>">Home</a></span>
<?php if ( isset( $wp_query ) && (bool) $wp_query->is_posts_page ) { ?>
> <?php echo $blogTitle; ?></span>
<?php } ?>
<?php if ( is_single() ) { ?>
> <span><a href="<?php echo get_permalink( get_option( 'page_for_posts' ) ); ?>"><?php echo $blogTitle; ?></a></span> >
<span><?php echo get_the_title(); ?></span>
<?php } ?>
<?php if (is_page() ) { ?>
> <span><?php echo get_the_title(); ?></span>
<?php } ?>
<?php if (is_search() ) { ?>
> <span> Search results: <?php echo the_search_query(); ?></span>
<?php } ?>
</div>
<?php } ?>
Hope this helps! Good luck!