Pre March 2007 built cars do not utilise the Canbus protocol. You can tell this by checking your OBD port. If you do not have pins in 6 & 14 then you are running the older k-line protocol. BMW switched to canbus mar '07.
Whether this protocol suffers the same issue with key coding is a question I would like answered .. but the fix required would mean a completely new software patch tailored to an obsolete protocol and as its older than 6 years BMW deem it not worth the effort as it only covers 18 months worth of production. Whereas the post mar 07 canbus ones cover 6 years worth of production.