Try changing this:
byteProfilePIC = (Byte[])(ds.Tables["Pictures"].Rows[c - 1]["Image"]);
To use the loop varariable:
byteProfilePIC = (Byte[])(ds.Tables["Pictures"].Rows[i]["Image"]);
At present the same image is pulled out each time...
BTW:
for( i=0;i<;c;i++)
Won't compile:
for( i=0;i<c;i++)>
Will.