If there is a problem , it will be the quasi-bi-directional structure of the port pins on the 89C51. They can't source very much current, only about 60 microamps. That may be enough to turn the darlington on, but not very hard.
The data sheet from Allegro lists a typical input current of .9 to 1.35 milliamps.
If I were you I would use a PNP predriver pulled low by a port pin to connect the input of the ULN2803 to Vcc. That should turn the output on smartly! In addition your outputs will be off while RESET is asserted.