1-这个故事发生在上个世纪末. I wonder if 发生 could be placed after 在上个世纪末. Shouldn't time be placed before a verb?
昨天,明天,一小時前,or 十分鐘後 are 'time particles' that indicate when the verb occurs.
在昨天,在明天,在一小時前,or 在十分鐘後 are noun phrases indicated by the preposition 在 (in/at), refers to a unique period of time, not unlike 在上个世纪末 or 在五四運動時期. Both (在)上个世纪末 and (在)五四運動時期 are treated as a noun phrase, not a time particle
这个故事昨天發生 (O) - time particle 昨天 is correctly placed before the verb
这个故事發生昨天 (X) - time particle 昨天 is incorrectly placed after the verb
这个故事發生[在昨天] (O) - having 在 in 在昨天 make it a noun phrase that refers to a unique time
这个故事[在昨天]發生 (O) - [在昨天] is in effect a relative phrase of [这个故事發生], therefore it can be placed before or after the verb
replace [在昨天] with [在上个世纪末], you would notice 在 is required to indicate it is a noun phrase e.g. 这个故事發生上个世纪末 would be incorrect
2-电梯已经可以正常使用了: 正常 is an adjective, and adjectives describe nouns? 使用 can not work as a noun?
正常(normally) is an adverb in this context,
使用 (use) is a verb in this context
正常使用 = 正常地被使用
3-任何事情的发生都是有原因的: 任何事情的发生 after 的 there should be a noun... 发生 is not a noun...
Yes, 发生 can be used as a noun. 的 in 的发生 makes 发生 a noun for 'occurrence'. Similarly, 攻擊 (attack) is mostly used as a verb, but 的 in 他的攻擊 makes 攻擊 a noun
4-他出生在一个美丽的小城市: 出生 is not exception that can be placed before a location so why it is placed like this...
A simpler example:
他出生 (verb phrase) 在美國 (relative phrase)
他出生[在美國] = 他[在美國]出生