Hello Chrisdarl!!
I just tried your code and it works fine. As you did I extended Image and added my function. In added MyImage to my home page to test it so in HomePage.php I wrote:
static $has_one = array(
'TopImage'=>'MyImage'
);
And then I added the MyImage to the CMS by doing:
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab("Root.Content.Images", new ImageField('TopImage'));
return $fields;
}
And in my templates/HomePage.ss I access the function by doing:
<% control TopImage %>
<img src="$URL" title="$generateTitle"/>
<% end_control %>
I checked the Title attribute and it is 'abc', I hope this will help you to see what you are doing wrong.
If not, post again I can try to help you.
Good Luck, bye.