Custom header tiling?

You are putting an image into the style attribute – this is wrong. You only need the path, not a tag:

<div class="art-header"
style="background-image:url("https://wordpress.stackexchange.com/questions/71185/<?php header_image(); ?>"); background-repeat:repeat; height:<?php echo get_custom_header()->height; ?>px; width:<?php echo get_custom_header()->width;?>px;">
</div>

After seeing the issue at hand, I would instead suggest this:

your HTML:
<div class="art-header">....</div>

Anywhere on the same file (or header.php):

<style type="text/css">
div.art-header, div.art-header::after {
background-image:url("https://wordpress.stackexchange.com/questions/71185/<?php header_image(); ?>");
background-repeat:repeat;
height:<?php echo get_custom_header()->height; ?>px;
width:100%;
}
</style>