I do agree the msdb.sys.syslogins shouldn't be used.
Another way is to use the SUSER_SID function:
SQL 2005 Maintenance Plans
UPDATE
[msdb].[dbo].[sysdtspackages90]
SET
[ownersid] = SUSER_SID('sa')
SQL 2008 Maintenance Plans
UPDATE
[msdb].[dbo].[sysssispackages]
SET
[ownersid] = SUSER_SID('sa')