What's the reason for Monte Carlo tests for block ciphers? NIST specifies that implementations were required to create Monte Carlo test vectors for ECB and CBC mode for the AES competition.

What's the reason for these tests? The only thing I can think of is that it is some randomized testing of the block cipher in specific modes. However, in that case the difference between ECB and CBC would not matter.

It seems to me that this is a weird way to test for implementation errors. You'd expect things like bounds checking and such, but just performing the encryption over and over again may not actually hit the right results. And weird keys / input values are also covered by the other tests.

Finally, having the algorithm generate it's own input seems dangerous. If the block cipher doesn't behave as specified, then the input may be erroneous. So why use the block cipher as DRBG and not another well specified / tested algorithm?
As usual, government departments simply repeat their existing rules.  So they incorporated the Monte Carlo tests from earlier test documents, this time from 1980.   If you follow the dusty trail from Maarten's link, you eventually arrive at NBS Special Publication 500-20, Validating the Correctness of Hardware Implementations
of the NBS Data Encryption Standard.  These are the two relevant extracts.


  This publication describes the design and
  operation of the NBS testbed that is used for the
  validation of hardware implementations of the
  Federal Information Processing Data Encryption
  Standard (DES).


and


  Since the test set is known to all, an additional
  series of tests is performed using pseudo-random data to
  verify that the device has not been designed just to pass
  the test set. In addition a successful series of Monte Carlo
  tests give some assurance that an anomalous combination of
  inputs does not exist that would cause the device to hang or
  otherwise malfunction for reasons not directly due to the
  implementation of the algorithm. While the purpose of the
  DES test set is to insure that the commercial device performs the DES algorithm accurately, the Monte Carlo test is
  needed to provide assurance that the commercial device was
  not built expressly to satisfy the announced tests.


So it is there to test  future hardware implementations of AES.