So, what I have now is this:
<table class="inner_table" border=1 width="800px">
<tr id="row1" style="display:none">
<td class="item_text_cell alt_color2">[%ListLabel(RandomQuestions1,1)%]</td>
</tr>
<tr id="row2" style="display:none">
<td class="item_text_cell alt_color1">[%ListLabel(RandomQuestions1,2)%]</td>
</tr>
<tr id="row3" style="display:none">
<td class="item_text_cell alt_color2">[%ListLabel(RandomQuestions1,3)%]</td>
</tr>
<tr id="row4" style="display:none">
<td class="item_text_cell alt_color1">[%ListLabel(RandomQuestions1,4)%]</td>
</tr>
</table>
<script type="text/javascript">
function displayRow(r)
{
document.getElementById(r).style.display="table-row";
}
setTimeout(displayRow, 1000, "row1");
setTimeout(displayRow, 2000, "row2");
setTimeout(displayRow, 3000, "row3");
setTimeout(displayRow, 4000, "row4");
</script>
It has some constraints, though. It seems this won't work in IE (still, I'll have to verify it). Also, the ideal solution for me would involve having the whole table displayed from the start, with the text in the rows appearing gradually.
The advantage of the solution presented seems to reside in the fact that it does not need to randomize the items in the table (the display method somewhat does it).
Nevertheless, I'll keep digging to see if I can achieve a more perfect solution.