Process multiple profile objects with start and end timestamps and pick the last that matches the time. Also preserves old functionality of using last non-timestamped profile object, if those are present.