Hinter deinen Klassenmethoden fehlt das Schlüsselwort static.
Nebenbei würde ich mir mal einen Styleguide anschauen, der Quelltext sieht ja aus...
// EDIT:
Delphi-Quellcode:
type
TDP = class
private
class var
FInstance: TDP;
FXMLFileName: string;
public
destructor Destroy; override;
class function Instance: TDP;
class function NewInstance: TObject; override;
class procedure SetXMLFileName(const AFilename: string); static;
class property XMLFileName: string read FXMLFileName write SetXMLFileName;
end;