In Active Directory, are generated computer names guaranteed to be unique within a domain? I believe that they are unique at least within an OU, but what about at the domain level?
Yes - they have to be unique at the domain level. OUs are simply organizational containers that you can use to help group objects (computers and users).
If you have child domains, or trusts to other domains, then you can have non-unique computer names, as the domain names will differ.
In other words, you can't have: server1.domain1.com and server1.domain1.com, but you can have server1.domain1.com alongside server1.domain2.com.
Computer names, user names and group names are required to be unique whithin the same Active directory domain, regardless of their placement in the OU tree.
You can't create a new user or group if there already is one with the same name in the domain; you instead can add a computer to a domain if it already contains one with the same name, but this will overwrite the old computer account with the new one (if you have permissions to do so).
Also, you can have two computers with the same name in different domains, but you can't connect them to the same IP subnet, because they will broadcast around their name using NetBIOS, and you will get an error about having duplicate computer names on the network.