There seem to be a lot of question concerning this and while some of them seem to have working solutions, they do not work in my project no matter what I do.

An elevator platform should spawn a prefab model when function MakePillar is called.
This model should then be parented to the platform. All code is included in the Elevator’s script, so no third objects are involved.

var PillarPrefab : GameObject; // The Pillar model that appears below the elevator platform. The function gets called in the Update function when a key is pressed.

function MakePillar()
    {
    	var Pillar : GameObject = Instantiate(PillarPrefab, transform.position, transform.rotation ) ;
    	Pillar.transform.parent = transform ;
    }

What works: The first part, i.e. creating the pillar at the correct position.
What doesn’t work: the second part, i.e. parenting the new clone to it’s parent, the elevator.

I already read and tested the code from the following threads…

Use debug statements to check if transform is null and such and print to the console.
After your code try this:
Debug.Log("parent is: " + Pillar.transform.parent.name);

If that gives a null reference, then the parent is not being saved.
If so, then the parent is being applied but is being removed later. Make sure to run your instantiation code once or unity might create a ton of objects. Create a Boolean and just flip it when you run the code so it only runs once.