Sean you were correct about the nulls. I discovered a workaround which is detailed below for reference, a fuller explanation is available via the link, perhaps it will be helpful to someone else.
poor design aside, this now works a treat!
Many Thanks.
UPDATE TheTable
SET TheColumn = REPLACE(CAST(TheColumn as varchar(max)) COLLATE SQL_Latin1_General_CP1_CI_AS, CHAR(0), '')
WHERE CAST(TheColumn as varchar(max)) COLLATE SQL_Latin1_General_CP1_CI_AS like '%' + CHAR(0) + '%'
http://blogs.visigo.com/chriscoulson/removing-null-characters-0x00-from-values-in-sql-server/