While the solution of keeping the old smiley paths intact may not be elegant that is probably what I would do in this case if you have a lot of content that uses them.
I mean it may be possible to fix it using SQL queries and the replace function on table fields where there is affected content. I would certainly backup the db before attempting it. Since the SQL REPLACE function does not work with ntext fields you would have to cast the field as nvarchcar(max) in order to do the replace, something like this syntax:
SET fieldname= REPLACE(cast(fieldname as nvarchar(max)), 'oldvalue','newvalue')
-- WHERE some condition
Hope it helps,