Can zero-fee txs get into a block? What happens if a transaction is set to have zero fees?
Can it get into a block?

Also, if you updated a coin's code to accept zero-fee transactions, would this cause a hardfork?

(e.g. made tx's in certain denominations return a tx.GetMinFee() of 0)
zero fee txs get into blocks all the time. many pools accept zero fee txs that have sufficiently high priority. that is, the inputs are aged and of high value.