Richard, thank you for the second paragraph of your reply, I totally agree. After discovering this behavior I banned 'arcgis' from the list of possible resource names in my code, but I thought that it was worth mentioning the issue, because it is somehow an illegal behavior.
CalculateField_management() is the only method that has this behavior up to my knowledge, and only when then expression is given in Python. An object 'arcgis' is created in a namespace that this method shouldn't access. This object has clearly properties that aren't my object's properties (among which a 'rand' method).
Best regards,
Cedric