Well, first of all there are a lot of optimizations I would suggest for your iRule to make it more efficient. Setting variables where they aren't absolutely required, using global arrays rather than static:: values (assuming you're on a version that supports them), etc. If you're interested in an optimization discussion, let me know and I'd be happy to help out in that arena.
More to your point, however, have you tried using the LB::detach command?
Click Here
If what you're trying to do is convince the LTM to disconnect from the pool member that'd be the best way to do it, I think.
Colin