Double precission problem solved: I put flag DDSCL_FPUPRESERVE in SetCooperativeLevel function

procedure TCustomDXDraw.SetCooperativeLevel;
var
Flags: Integer;
Control: TWinControl;
begin
Control := FForm;
if Control = nil then
Control := Self;
if doFullScreen in FNowOptions then
begin
Flags := DDSCL_FULLSCREEN or DDSCL_EXCLUSIVE or DDSCL_ALLOWMODEX or DDSCL_FPUPRESERVE;
if doNoWindowChange in FNowOptions then
Flags := Flags or DDSCL_NOWINDOWCHANGES;
if doAllowReboot in FNowOptions then
Flags := Flags or DDSCL_ALLOWREBOOT;
end else
Flags := DDSCL_NORMAL or DDSCL_FPUPRESERVE;
DDraw.DXResult := DDraw.IDraw.SetCooperativeLevel(Control.Handle, Flags);
end;

Now, only 2 problems:

* Cutting edged with sprites with Alpha.
* Stop of some seconds the first time I paint a sprite with alpha with undelphi 1.07 (With 1.06 works well).

Kotai.