I think its because you are only grabbing the first result, if you will be getting more than one record from the db you need to use a while loop like:

<?php
// connect to the db duh
$db = mysql_connect("localhost", "user", "pass");
mysql_select_db("db",$db);
// select and arrange the data by the datetime row latest first etc
$result = mysql_query("select * from body order by date desc");
// insert the table parameters
echo "<table border=0 cellpadding=0 cellspacing=10 width=475 height=473 bgcolor=#333399>n";
// get the date column, which is (i presume) a datetime type column
//I believe this is where the problem lies
//$thedatetime = mysql_result($result,0,"date");
//Should be further down page, see below

// the function
function changeFormat($fromQuery) {
// let's split first by spaces
$splitDateTime = explode(" ",$fromQuery);
// and now $splitDateTime is an array which $splitDateTime[0] is the date and $splitDateTime[1] is the time..
// let's split these again
$DateElements = explode("-",$splitDateTime[0]);
$TimeElements = explode(":",$splitDateTime[1]);
// Now we format it now that its been split up
$ReturnVar = '<b>'.$DateElements[1].'.'.$DateElements[2].'.'.$DateElements[0].'</b><font size=-1> '.$TimeElements[0].':'.$TimeElements[1].'</font>';
// now the row for the date/time/comment
echo "<tr bgcolor=#333366><td>n";
// spit out the time/date for the hell of it
echo $ReturnVar;
}
while ($myrow = mysql_fetch_array($result)) {
// call the function where it rearranges the date/time
changeFormat($myrow["date"]);

//Where you have the mysql_results change the number sto be the field names in questions
printf(" <font size=-2>%s</font></td></tr><tr><td valign=top>%s</td></tr>n", $myrow["fieldname1"], $myrow["fieldname2"]);
}