CASE funcionaría, pero te falta el END . Pero en este caso, también podría usar IF(AcceptedAnswerId = Id,1,0) .
En el caso simple que muestra, podría solo haz:
order by type,if(type=0,(@accepted:=acceptedanswerid),id<>@accepted),timestamp
pero no sé si eso funcionaría en tu caso real.