It's variable like you wouldn't hardly believe.
There are other factors including load on the network. The computers are constantly measuring strength of signal, traffic and balancing all these factors to provide the best service to the entirety of customers, not just one. It's also variable to the provider and their equipment. It's software driven. So a new Rev of the software comes out and how they handle calls could change. Keep in mind, it's digital so the antenna could servicing your call multiple times during your call and you wouldn't know it.
Each antenna is measuring the signal to your phone. It's not only measuring the strength of signal but the consistency of signal. If the signal on a specific frequency fluctuates wildly, it will connect to another antenna. Dr. Pellero pointed this out about calls connecting in his apartment.
But traditionally, on both outgoing and incoming calls, your call is connected to the last antenna your phone is registered to. The process works like this. There is a database server managing each antenna's calls. When you turn on your phone, your phone goes looking for the network and your phone gets registered with strongest consistent antennas local database server, From that point on, it knows how to route the call.
Now a call is made and it first tries that route to reach you. But if your signal ever degraded too much, your phone would have found another antenna and you would be registered to that one.
It's actually very simple but complex to explain. Its much easier to understand visually. Sorry if my explanation isn't clear.
The protocols for GSM (the system upon which all mobile phones in Italy operated in 2007) have just this sort of traffic optimisation system. On top of everything you've written - all of which applies to GSM, I'd make the following observations, which are something of a simplified and appended version:
Basically, if a phone ("Handset 1") is switched on but not in use and connected via a certain base station ("A"), the network may switch the phone from base station A ("A") to another base station ("B") if A has started to handle a large amount of traffic (that is, of course, assuming that Handset 1 can get suitably strong and reliable signal from both A and B at that time. If Handset 1 can "see" only A as a base station, then it will remain connected to A until and unless it is switched off, or its location changes, or the signal coverage with A degrades so much that the phone disconnects from the network entirely)
While Handset 1 is involved in an actual live communication connection to the network (i.e. a phone call, MMS message or GPRS internet use (a text message is such a short-duration burst of traffic as to be irrelevant here)), it will remain connected via A unless A physically goes offline or has another major problem, or unless Handset 1 loses signal coverage with A (either because of changes in atmospheric or topographic/obstruction conditions, or because the person using Handset 1 is on the move). If Handset 1 is forced, through one of these occurrences, to switch to B (or any other base station) in the midst of e.g. a phone call, the call participants will hear a very short period of silence as the call hands over from one base station to the other.
And therefore to address bagels' original question more specifically, if a phone has connected to (and registered with) a particular base station ("A"), it will, as a rule, stay connected to that base station until/unless:
a) Signal quality to that base station (A) degrades too much (changes in atmospherics, obstructions, etc) to make reliable/clear communications possible - assuming that the handset can get a stronger signal from another base station (B), it will then switch to that second base station. Similarly, if the existing connection to A is of low strength/quality/reliability, and if the handset is able to see a second base station (B) with which it can establish a higher-strength, more reliable signal, it will usually switch to B. If the connection with A degrades, but if the handset cannot see any other base station with sufficiently stronger/reliable signal, then the handset will remain connected to A regardless, until it crosses a further threshold (determined by the network) of insufficient connectivity, at which point the handset will disconnect from the network entirely.
b) The user moves out of (or to the very edge of) the coverage area of A, to the point where B now gives a stronger, more reliable connection (this is really another example of point (a) above.
c) Base station A gets "full" of traffic from other mobile phone active connections - the network software will switch the handset to B, provided that the handset can also get a strong, reliable connection to B.