The code sent by Herbert Roitblat pointed out some inconsistencies in the current NumPy, that I've fixed with two small changes:
1) Long's can no longer be safely cast to Int's (this is not safe on 64-bit machines anyway) -- this makes Numeric more consistent with how it interprets Python integers.
2) Automatic casting will be done when using rank-0 arrays to set elements of a Numeric array to be consistent with the behavior for Python scalars.
The changes are in CVS right now, but are simple to change back if there is a problem.
-Travis