How does a GSM device (ME) decides which tower/base station (BTS) it should connect to
Thanks for reopening the question.

This is not something that you would encounter on a regular basis but I've faced this same question several times over the past 10 years. Especially when you place GSM equipment on a high site (mountain) where there are two or more, non-synchronised GSM cell's visible. This will result in incorrect cell hand-over and unnecessary re-registration attempts. This will result in delayed data transmissions which I cannot afford.

The question:

I needed to determine what control and/or how much control I have over the GSM registration process, I needed to know who decides how a GSM device is registered on a GSM network, the network or the device. More specifically how it is decided to which tower (base station) a device shall attach. I already had the answer but had to confirm it through a reliable resource such as the ETSI GSM documentation. The other alternative was to fire up a couple development kits and test it but I'd be more at ease if I could verify it through the GSM standards documentation. There is a large library of ETSI GSM documents and if you do not know the exact terminology, it can take some time to get to the information you need. I therefore came here for assistance with the hope that someone with more knowledge on this topic could assist.

The source of the answer:

I found the answer in these two standards:

ETSI TS 125 304 - User Equipment (UE) procedures in idle mode and procedures
for cell reselection in connected mode

Excerpt:

"When a UE is switched on, a public land mobile network (PLMN) is selected and the UE searches for a suitable cell of
this PLMN to camp on."

ETSI TS 100 930 - Functions related to Mobile Station (MS)
in idle mode and group receive mode

Excerpt:

"Initially, the MS looks for a cell which satisfies these 5 constraints ("suitable cell") by checking cells in descending
order of received signal strength. If a suitable cell is found, the MS camps on it and performs any registration necessary."

The answer:

Like I said before, I already had the answer but had to confirm it. Mostly because we are considering new technology.

Registered or is unregistered, a GSM device device will continiously scan the surroundings for available Base Transceiver Stations (BTS)/Cells. If I remember correctly, this is done every 5 seconds. 
As long as it is powered, the radio is enabled and it has a functional SIM. It will keep a list of these Cell's and when asked to register, it will try and register to the Cell with the highest signal 
strength. Whether it will be allowed to communicate further through this cell, will be determined by the network during the authentication process. So the Mobile Network Operator (MNO) will not enforce 
the cell to which a device may try and register but it will enforce whether is allowed to further communicate through this cell. The control of the registration is in my hands.

I've always used AT+COPS to control my registration to a specific Mobile Network Operator (MNO). With AT+COPS=0, the registration is automatic and with AT+COPS=1 I can set the specific operator.

In addition to AT+COPS, you can also define to which BTS/Cell you want to connect, by populating the preferred cell list with the desired BTS/Cell information (LAC and Cell ID). 
The commands used to collect the surrounding cell info (MCC, MNC, LAC, CELLID, BCCH, etc.) and populating the preferred cell list, varies from GSM module manufacturers (or GSM chipsets). For Quectel you 
would use AT+QENG and for Cinterion you would use AT^SMONC and AT^SPCL.

Why the question:

In short:

We use different GSM technologies in different countries and different SIM's with different SIM profiles in different countries. Our application requires low latency data throughput 
(that includes the latency or delay introduced by network registration).

To avoid the delays introduced by network registration, which in general is about 60 seconds and more for low signal areas. I needed to confirm how much control I have over the registration process,
such that I can select the correct GSM technology and SIM for the specific environment. So by collecting surrounding network information, I can make a decision (prior to registering) without having to try all the
GSM technology and SIM combinations, which will result in an extremely long registration result. I hope this makes sense.