Mal abgesehen davon, dass ich das etwas ungewöhnlich finde (ich würde setAttribute() und createTextNode() benutzen) und mit so einer Konstruktion (einbinden von Code durch Einhängen eines <script>-Elements) eh meist Ärger hatte: Steckt hinter service.lib eine externe Datei oder eine Variable, die den Code enthält? In letzterem Fall kannst Du den ganzen Aufwasch da oben auch einfacher haben:
setAttribute() macht wohl bei manchen IE Versionen Probleme. Auf diesem Weg hat es bisher mit allen Browsern funktioniert die ich getestet habe.
var Funktion = new Function(service.lib);
Aufruf dann ganz einfach mit
Funktion();
ja, service.lib ist eine Variable die den Code enthält. Allerdings können dort beliebig viele Funktionen drin stecken. Funktioniert das dann auch noch mit dem new Function() ??
Gruß,
Benedikt