Do virus writers still attempt to make metamorphic or polymorphic code
Well yeah, Polymorphic would be easier to write. Reason: if the goal is for going undetected (like hiding from a traditional av scanner: basically blacklist detecting) why make it more complex then needed. I won't get into the specifics as this isn't a malware programming forum
have antiviruses over come this?
Depending on the AV, but to keep it as simple as possible. Yes to some degree.
file-infector to work it needs to know whether it has infected a file before
It all depends on how its coded. example just infecting executable files or a specific ones like .bat files in a certian and/or all folders
Wouldn't it be a lot simpler to make a standalone program (worm) that rewrites itself?