Giving up time slice?

Hmmm.... weird.. this used to work....

In Windows/95, you can bring up the system monitor program to watch CPU
usage.

Now I used to be able to do

    asm
          mov   ax,1680h
          int      2fh
      end;

.. to give some time to Windows.    If I put this into a loop of code,
the CPU usage would go way down from 100% down to around 5%.   This made
the program "nice" to other tasks.

But just now I noticed the CPU meter pegged at 100%.
A little test program shows this old trick doesnt work for me anymore:

program waste;

var  xx:longint;

begin
   repeat
      write('h', xx:10); inc(xx);
      asm
          mov   ax,1680h
          int   2fh
      end;
   until false;
end.

This pegs the meter.    What have I done wrong?