Cannot stop MySQL 5.5 replication threads
To halt replication from starting up on a restart of mysqld you should add this to my.cnf

[mysqld]
skip-slave-start


Don't worry about the SQL Thread. It reads from the local relay logs. Once all SQL statements and changes are read from the relay logs and processed, the SQL threadwill just sit there. You can prove that by running SHOW SLAVE STATUS\G and watching


Relay_Log_Space: If the IO Thread is disabled, this should no longer increase.
Exec_Master_Log_Pos:  Once all SQL is processed from relay logs, this remains still


As long as the IO Thread is dead (run STOP SLAVE IO_THREAD;), replication from the remote master is no longer possible, especially since you set the address to a nonexistent server. 

My guess is that you are using row-based replication, If you are, the SQL thread is probably staring at an incomplete transaction and waiting for the IO thread to complete a block of changes that never comes over from the master. When that is the case, you can kill the SQL thread by running

KILL connectionid;


for the connection of the system user still active for replication's SQL thread. I say this because the MySQL Documentation on STOP SLAVE says:


  In MySQL 5.5, STOP SLAVE waits until the current replication event group affecting one or more nontransactional tables has finished executing (if there is any such replication group), or until the user issues a KILL QUERY or KILL CONNECTION statement. (Bug #319, Bug #38205)