ExecuteScalar devuelve nulo o DBNull (servidor de desarrollo o producción)

Estoy intentando agregar una columna a una @ existenDataRow Cía#. Luego, la columna se rellenará con un único valor de mi base de datos.

DataRow dr ya existe y la columna "COLNAME" también existe.
comTBP es miSqlCommand.

dr["COLNAME"] = Convert.ToInt32(comTBP.ExecuteScalar());

Todo esto funciona bien si hay un valor en mi base de datos y ExecuteScalar () puede obtener ese valor. Si pruebo este código en mi servidor de desarrollo (local) también funciona si ExecuteScalar () devuelve nulo o DBNull y el valor de mi nueva columna es 0. Pero el problema aparece si implemento mi código en el servidor de producción. Si hago todo lo mismo, con la misma base de datos arroja una excepción con un mensaje de que no puede convertir DBNull a Int32.
Mi pregunta es ¿por qué aparece este error en el servidor de producción y no en mi servidor de desarrollo local?

Respuestas a la pregunta(3)

Su respuesta a la pregunta