Hi Mona,
I agree with Garrett, the easiest solution would be to use Visual Logic.
But there are a few ways to achieve what you are looking for.
OPTION 1: POSITIONING TWO TEXTFIELDS
The first option as you have said yourself is by using two text-objects which you can have datalinq'ed. But you have mentioned something in your question which I think is perhaps a misunderstanding of the boundingbox.
"I don't need to adjust the bounding box of where the text lives, just the text only."
You see the boundingbox of the textobject is not something you need to set, the boundingbox, tells you the actual width of the textfield. So basically, you get the X-Position of the first Text, then you add the boundingbox.Width to it and that is the starting X-position of your second Text.
Now as Garrett also mentioned above, you can also add some spacing if you don't want the two textfields to be glued together.

However, in the example that you have shown us, there is a double point ":" which is added to the first Text field. The question is how do you need to add this. If it's coming from the Datalinq, then you're all good, however if you need to add it yourself, then you need to go a bit further.
Since the two texts have to be aligned on the same height, I am assuming that both texts will go on the same background or strap?
If that's the case, then I think we can simplify some things.
OPTION 2: USING VISUAL LOGIC
Using Visual Logic you can simplify on the one hand but, also add more flexibility.
You can simplify it by using just one text-object which holds the values of Text 1 & Text 2 in it, formatted any way you like.
But on the other hand you could also add logic to react to certain cases where the content isn't what you expect it to be.
For example, by default the output you are expecting is "Text 1: Text 2". But what if the Text 1 is empty, you would get ": Text2", or the other way around, what if Text 2 is empty, then the result would be "Text 1: "
So using Visual Logic, you can prevent issues like that from happening.
In Visual Logic, you have two options to combine texts together. Option 1 is the Format String and option 2 is the Concatenate. I prefer the Format String because it's cleaner in terms of blocks but it's a bit more complicated.
The Format String-block uses two parameters (being the texts of your text-fields) and then you specify how you want to display it. So when you click on the Format String you will see in the content of the Format String I have put %s: %s.
The %s actually stands for the parameter that you are feeding into the block. In this case Text 1 and Text 2. The %s will be replaced by the value that you have assigned to that parameter so the result will become "Text 1: Text 2"
The Format String actually is a great tool because it also allows you to add tabs to your textfield or to use an Enter so the second content comes on a second line. But for this you need to activate the "Parse Escape Characters".

A second option is to use the Concatenate. This block allows you to take multiple texts and to add them together.
So for this example, I'm feeding Text 1 into the Concatenate block on the Base and then I have a String Value-block that holds the double point and a space behind it (": "). Finally the text of Text 2 is fed to the third position.
The Concatenate will append all the content in the order that it is attached to the block. So the end-result will be "Text 1: Text 2".
In the above example I have added Text 3 & 4 just to show the output of both options. Obviously, you only need one textfield.
So as you can see in Option 2 you will need an additional String Value block to hold the ": " which adds to the clutter which is why I prefer Option 1, eventough the String.Format seems a bit more complicated with the formula that you need to enter.
So in the above example you are actually using three textfields. One which is assigned to the Datalinq of the first text-object, one which is assigned to the other Datalinq of the second text-object and one textobject which serves to combine both texts and to display the content in your scene.
In reality you would hide both Text 1 and Text 2 so they are not visible on the output and only Text 3 is visible.
However, you might say that this is a lot of hassle just to get two texts combined, and you have a point there. You could easily replace both Text 1 and Text 2 in your scene and use the Datalinq-block inside Visual Logic, as you can see below

This way you only need 1 textobject to show the content. Nice and clean.
However, I personally prefer the option with the separate Textfields which are Datalinq'ed and for the following reason:
If you are doing the graphics through the sequencer, the Textobjects will be available to modify the text if needed. Imagine you need to show Donald Trump, but in the Datalina'ed source somebody put Donald Duck. If you were to take that on air, your lower third would say Donald Duck.
By using the two textfields, you can spot the mistake, prior to putting it on air. So you can replace the text "Duck" by "Trump" and avoid a major catastrophy on air.
So eventhough it's a bit more hassle, it does allow you to be more flexible.
Note that you can also "unpublish" the third textfield so it doesn't show up in the sequencer. You will only see Text 1 and Text 2 and not the final result, but that's fine because it's being filled in by Visual Logic.
Oh and for the record, all of the features discussed above will probably be in your version 6.5 because I made the screenshots on a Developer which is on 6.7. So you should be good I think.
So I hope it all makes sense and I hope you got a bit more insight into the wonderful world of Visual Logic ;-)
Best regards,
Ken
#XPression