As it turns out, the problem was caused by deleting
wpa_supplicant. Wikipedia can offer a little insight on what that means:
In addition to being a full-featured WPA2 supplicant, it also implements WPA and older wireless LAN security protocols.
It further is responsible for the job to
review a list of currently visible networks, select one of them, provide any additional security information needed to authenticate with the network (e.g. a passphrase or username and password) and add it to the preference list to enable automatic reconnection in the future.
As it is said: curiosity killed the cat -- and deleting
wpa_supplicant makes it quite impossible to use WiFi.
There are three corresponding files on Android:
/system/bin/wpa_supplicant is a binary (i.e. the program itself)
/system/etc/wifi/wpa_supplicant.conf is the default configuration (as the path correctly suggests, in the read-only
/system area), which also includes device-specific settings, plus some "inline documentation" in form of comments
/data/misc/wifi/wpa_supplicant.conf is located in the writable part. It repeats some of the contents from the system file (most likely copied from there on initialization -- as
/data gets completely wiped on a factory reset, those things must come from somewhere), but skips the comments. Furthermore, this file memorizes those networks you've connected to, including SSID, encryption used, and the passwords, all in plain text [sic!] -- that's where those "WiFi password recovery" apps get their information from
So if the latter config was deleted, it simply would be re-created after a boot. Of course, all your saved networks would be lost -- but that's a minor issue compared to the others:
If the system-config file gets lost, the binary does not now where to look for the interface, as that's configured here (e.g.
ctrl_interface=tiwlan0). This would also explain the missing MAC address: no known device, no known MAC address. Still, recovery from that should not be too hard: there are not too many different interface names, and other settings (like the chipset used) can be taken from specifications -- so root provided (which is the case, or you could not have deleted it), you could re-create a matching file with a little try-and-err.
If the binary was removed, options are narrow without a backup. Having a similar device available running the very same ROM, you could extract the binary from there (the config as well, or course). If you have at least an image available for your current ROM, you could extract it from there as well.
If all above fails: Yes, flashing a ROM would solve the issue as well -- as this ROM should contain the necessary files. It's quite unlikely you damaged your hardware that way.