Todo va a depender de si $num es un número o una cadena...
Código PHP:
$num=6465.00; //Es número
$num="6,465.00"; //Es una cadena
En el primer caso, no hay problemas con la configuración del 'locale' para el tema de caracteres de separación de miles y decimales. En cambio, en el segundo caso si. Lo que ocurre es que está interpretando que la coma (,) es la que separa decimales, luego el número que le pasas es poco menos de 6 y medio (seis con cuarentayseis) y no seismil y pico...
Prueba a pasarle
Código PHP:
$num="6.465,00";