Why does Thiamine pyrophosphate have phosphates?
The diphosphate* part of TPP does not serve any catalytic function but, rather, helps bind the coenzyme to the enzyme. In this respect it is similar to the non-nicotinamide portions of NAD/NADP (think, why the P?), and represents a general theme, rather than a unique instance.

A pertinent paper that I found from an internet search unfortunately requires access to an academic library. This is P. Arjunan et al. J. Mol. Biol. (1996) 256, 590–600, and describes the crystal structure of yeast pyruvate dehydrogenase. I quote the following from it:


  The roles of Asp444 and Asn471 in binding the cofactor to the enzyme, observed in PDC and in their counterparts in transketolase (Lindqvist et al., 1992) and pyruvate oxidase (Muller &amp; Schulz, 1993), conclusively establish the importance of a conserved sequence roughly 30 residues long (Hawkins et al., 1989) starting with GDG and terminating with NN (Figure 8). These residues are among the few highly conserved in all ThDP-dependent enzymes and form the Mg2+ binding site which assists in anchoring the diphosphate to the protein matrix. 


And the Figure 8 referred to is a stereo-pair diagram (squint at the centre — with your specs off if you wear them — to see it in 3D):


￼
This also has a Pfam designation. The structure was deposited in the Protein Data Bank as 1PVD, where there is a useful diagram showing the interaction of the protein and magnesium ion with the phosphates:



*The paper quoted refers to the pyrophosphate part as “diphosphate”, which I assume is the standard chemical nomenclature.