could it be that you are overwriting it somewhere after start?
Check to make sure the Xvalue is random before you assign it, it will get you closer to your answer.
void Start(){
randomNumber = Random.Range(-50f,50f);
Debug.Log("Random Number is = "+ randomNumber); // This will tell us if random is workin.g
transform.position = new Vector3(randomNumber,transform.position.y,transform.position.z);
}