Ci sono attributi che si possono solo scrivere, attributi che si possono solo leggere ed attributi che si possono sia leggere che scrivere.
In linea di massima gli attributi CSS si possono sempre scriver, raramente leggere; comunque in qualche browser si possono anche leggere (ma sono estensioni proprietarie).

Se guardi nelle specifiche (ad esempio qui) trovi quello che il browser deve fare per essere conforme.

Comunque nel caso di url, viene usata la notazione url(...), quindi non viene passata una stringa, ma un oggetto (la "funzione" url() trasforma la stringa in oggetto), per cui il risultato non puoi leggerlo come stringa.

Per analogia con altri casi si puo` pensare di fare cosi` (ma non so se funziona, e non so in quali browser potrebbe funzionare):
var bb = document.getElementById("ciccio").style.background Image;
alert("tipo: "+typeOf(bb));
alert("stringa: "+bb.string());
alert("source: "+bb.src);