Non c'è bisogno di chiedere scusa, sono io che devo scusarmi per un errore di scrittura.
	Codice PHP:
	
$tags = explode(',', $tags); // e non tags = explode(',', $tags); 
 
Mentre per quanto riguarda:
	Codice PHP:
	
$tags = mysql_result($result, 0, 'tag'); 
 
tag in mysql_result rappresenta l'offset da cui vuoi estrarre. A dire il vero in questo caso non servirebbe nemmeno perché la query iniziale estrae già solo quel campo.
	Codice PHP:
	
$arg = "SELECT tag FROM argomento WHERE id = '$_GET[id]'"; 
 
Tutto questo per dire che lo script dovrebbe essere apparire come segue:
	Codice PHP:
	
<?php
$sql = "SELECT tag FROM argomento WHERE id = '$_GET[id]'";  
$result = mysql_query($sql) or die ("Query $sql fallita");  
$tags = mysql_result($result, 0);  
$tags = explode(',', $tags); 
$sql = array(); 
foreach ($tags as $tag) { 
   $sql[] = "SELECT * FROM argomento WHERE tag LIKE '%$tag%'"; 
} 
$sql = implode($sql, ' UNION ');
$result = mysql_query($sql) or die ("Query $sql fallita");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    // todo: your code
}
 
Tenuto presente che si potrebbe anche migliorare ulteriormente ma visto il tuo attuale livello non vorrei complicare troppo le cose.