I think a certain limit to the amount of DNA you can pass is important. You shouldn't be able to pass your whole genome as a virus.
I think the challenges of writting a virus that fits into one gene is well worth the effort. That's how I'd vote.
But, for everyone who's lazy, take a look at this:
cond
start
*.thisgene .mkvirus store
1000 *.vtimer .vshoot mult store
stop
Your very own tiny self replicating virus. Add whatever viral code you like to it.