direi nella tabella innanzi tutto ... gli INT 100 neanche si possono fare, il massimo è BIGINT 20 ... ma considerando che con un INT 10 puoi gestire fino a 4 miliardi e qualcosa di valori penso basti quello, no? (ergo converti UID, TIME e ID in INT 10)

detto questo non c'è bisogno di una query che fa il conteggio per poi prendere la foto desiderata basta usare direttamente
SELECT imageurl FROM ibwf_gallery WHERE uid='".$who."' ORDER BY RAND()

e se non restituisce nessun valore allora vuol dire che non ci stanno foto da visualizzare

detto questo ... non so perché non funziona però mi sembra grosso modo corretto ... guarda il sorgente html e vedi che ci sta messo